Mensaje    Asunto: Botón en TToolBar q no responde bien Responder citando

Hoy es mi dia!!!! Evil or Very Mad

A ver, en mi aplicación MDI, tengo aparte del menú inicial, un TToolBar, con unos botones. Un botón hace referencia a la misma función que una opción del menú, es decir, que tanto ese botón como la opción del menú ejecutan la misma función.

Esta función es esta:

//---------------------------------------------------------------------------
void __fastcall TFormMDI::dctbClick(TObject *Sender)
{

FormMDI->WindowMenu=Ventana1;
if (JPEG1->Checked)
{
JPEG1->Checked=false;
for(int N=0; N<MDIChildCount; N++){
MDIChildren[N]->Close();
}
}

//si stos forms hijos están ya creados entonces los cierro ,hago que el botón dl TToolBar aparezca pulsado o no en función d la última vez q se pulsó.....etc
if(isVisibleFormsDCT)
{
frmdct=new Tfrmdct(FormMDI);
DCT1->Checked =! DCT1->Checked;
dctb->Down=!dctb->Down;
frmdct->Cerrarformsdct(this);
Panel1->Visible=false;
isVisibleFormsDCT = false;
Image1->Visible =false;
//VER
frmdct->Inicializar(frmdct);
frmdct->Free();
}
else{


//sino los creo.
frmdct=new Tfrmdct(FormMDI);
DCT1->Checked =! DCT1->Checked;
dctb->Down=!dctb->Down;
FormMDI->Panel1->Visible=true;
isVisibleFormsDCT = true;
Panel1->Visible=true;
frmdct->Crearformsdct(this);
Image1->Visible =true;
Brush->Bitmap = Image1->Picture->Bitmap;
//inicialmente cargo demo1
frmdct->CargarMatrices(frmdct->OrgImg);

}

}

Pues al pulsar ese botón hace que aparezcan forms dinámicamen, y ejecuta todo lo que debe, pero inmediatamente después de hacerlo, desaparece todo muy rápidamente. Sin embargo, si lo hago con el menú todo va muy bien.....si a alguien le ha pasado algo parecido que me dé alguna pista de porqué pasa eso.

Thanks