Hola a tods! tengo una dudilla...
tengo un Form1 en el cuál tengo un botón, mediante el evento OnClick llamo a:
Código:
Form2->ShowModal();
que me muestra un segundo formulario Form2 que contiene un ListBox1, en el Unit2.cpp tengo:
Código:
void __fastcall TForm2::FormCreate(TObject *Sender)
{
MiClass * mio = new MiClass ();
mio -> GetAlgo();
delete mio
}
Con esto, se supone que cuando clickeo al boton del Form1 y me muestra Form2 directamente llama al método GetAlgo de la clase MiClass que está contenido en un Unit3
y en el Unit3.cpp:
Código:
...
for ( )
{
cadena = .....
Form2->ListBox1->Items->Add(cadena);
}
/*
int num=Form2->ListBox1->ItemIndex;
if (num==1)
{
ShowMessage("algo");
}
if (num == 2)
{
}
...
*/
El código tal cual (sin ejecutar el código comentado), se ejecuta como espero:
1. ejecuto el .exe
2. muestra el Form1
3. click al botón
4. muestra el Form2 con el ListBox1 rellenado de los items que le indico:
Form2->ListBox1->Items->Add(cadena);
Pero cuando lo ejecuto todo (incluyendo lo comentado), se ejecuta:
1. ejecuto el .exe
2. muestra ShowMessage("algo");
3. muestra Form1.....
como es posible?? Algo estoy pasando por alto, pero no se qué es.
Lo que quiero hacer es que al clickear el botón de Form1 me muestra un Form2 con los items ya mostrados en el ListBox y que, al seleccionar alguno de ellos, me muestre la información que yo quiera en el Form1.
gracias, espero haberme explicado bien.