Abstract Error oO??

0

Mam nast. sytuacje:
po kliknieciu na przycisk na glownej formie, tworzone jest nowe okno:

ODialog:= TODialog.Create(self);
ODialog.Show;

teraz na tej formie (ODialog) mam BitBtn pod ktorego OnClick jest polecenie close; :), a w ODialog.OnClose jest destroy;

Gdy zamykam ODialog zwyklym X wszystko gra, a przed chwila jak uzylem tego BitBtn to forma sie zamyka i wywala 'Abstract Error'. Dzieje sie to teraz za kazdym razem gdy zamykam tym kliknieciem...

Pierwszy raz mi sie to przytafia, bardzo czesto mam destroy w OnClose i wszystko dziala, kompletnie nie wiem o co chodzi [???]

dopisane:
aha, debugger nie zaznacza zadnej lini :|

dopisane 2:

  1. Dodalem komentarz przed destroy; czyli de facto je wywalilem, to dziala.
  2. Gdy zamienilem destroy; na free; to identyczny blad wywala.
0

Punkt 2 jest sluszny - nalezy uzywac free a nie destroy.
Nie mozesz jednak zwolnic formy nawet przez Free wewenatrz procedury oblsugi zdarzeia tej formy. W takiej sytuacji uzywa sie Release, ktore czeka ze zwolnieniem az zakonczy sie procedura zdrazenia. Wiec sprobuj Release, moze pomoze.

0

Punkt 2 jest sluszny - nalezy uzywac free a nie destroy.
Nie mozesz jednak zwolnic formy nawet przez Free wewenatrz procedury oblsugi zdarzeia tej formy. W takiej sytuacji uzywa sie Release, ktore czeka ze zwolnieniem az zakonczy sie procedura zdrazenia. Wiec sprobuj Release, moze pomoze.

Dzieki - dziala [browar] .

1 użytkowników online, w tym zalogowanych: 0, gości: 1