Strona 1 z 1

Błąd przy zamykaniu Formy dynamicznie utworzonej

Nowy postNapisane: poniedziałek, 25 sierpnia 2008, 10:15
przez pit
Witam
Mam taki mały problem. W oknie MDI tworzę dynamicznie nowy formularz i przy zdarzeniu OnClose w tej formie niszczę ją za pomocą funkcji Free(). Gdy naciskam krzyżyk na pasku tytułowym zamykanie przebiega bez problemu, ale gdy chcę zamknąć tę Formę za pomocą Buttona poleceniem Close() lub Free(), wywala mi błąd Abstrakt Error i to tylko przy pierwszym jego zamykaniu tej Formy, bo przy kolejnych jest ok. Co może być nie tak?

Re: Błąd przy zamykaniu Formy dynamicznie utworzonej

Nowy postNapisane: poniedziałek, 25 sierpnia 2008, 14:38
przez Cyfrowy Baron
U mnie taki błąd nie występuje:

Kod: Zaznacz cały
void __fastcall TMDIChild::FormClose(TObject *Sender, TCloseAction &Action)
{
   Action = caFree;
}
//---------------------------------------------------------------------
void __fastcall TMDIChild::Button1Click(TObject *Sender)
{
Close();   
}
//---------------------------------------------------------------------------


błąd masz pewnie stąd, że niszczysz okno poleceniem Free(), zamiast w w zdarzeniu OnClose ustawić wartość obiektu klasy TColseAction na caFree.
Błąd bierze się stąd, że okno samo siebie niszczyć nie może.

Re: Błąd przy zamykaniu Formy dynamicznie utworzonej

Nowy postNapisane: poniedziałek, 25 sierpnia 2008, 14:44
przez pit
Dziękuje działa.