Así es. Por eso te mencione antes que hay que tener cuidado al definir los nombres (Name) de cada control creado.
Creo que hay más trasfondo en este tema.
Puedes "jugar" un poco con la propiedad
Name.
AnsiString NombreCualquiera = "MiControl";
Control->Name = NombreCualquiera;
Ahora bien, la solución más común en estos casos es utilizar una variable
global que funcione como contador de controles:
int contador=0;
... <resto de tu codigo>
...
AnsiString NombreCualquiera = "MiControl";
Control->Name = NombreCualquiera + IntToStr(contador);
contador++;
.... <resto de tu codigo>
Eso va a provocar que el nombre del control sea distinto cada vez que mandes a llamar el evento.
Bien. Ahora surge el problema de las coordenadas en pantalla para posicionar cada control creado.
Ese trabajo sucio te lo dejo a ti.
ya que eso depende mucho del tipo de interfaz que estas diseñando en tu programa.
Y no olvides encerrar las intrucciones con la sentencia
"try/catch". Los métodos de excepciones no son de broma. Funcionan muy bien a la hora de las metidas de pata de programador/usuario.
... y hasta ahí todo bien... pero ahora te toparas con el problema de como acceder a cada control que creaste.
Esperame. La solución te la posteo en unos momentos. Estoy un poco oxidado en programación
jejeje