mam prosty programik z memo i dwoma buttonami, wczytywanie z pliku i zapisywanie do pliku. Zrobilem tez zmienna logiczna ktora okresla czy wprowadzono zmiany we wczytanym tekscie. Chcialem zrobic zdarzenie przy zamykaniu aplikacji polegające na sprawdzeniu wartosci zmiennej logicznej i w przypadku gdyby byla prawdziwa - program powinien sie zatrzymac i zapytac czy zapisac zmiany. Przegladajac zakładke events glownej formatki znalazlem pozycje "onDestroy" i wpisałem nastepujący kod:
procedure Tformgl.FormDestroy(Sender: TObject);
var
blad:integer;
begin
if zmiana then
begin
blad:=messagedlg('Nie zapisano zmian! Zapisać?',mtWarning,mbYesNoCancel,0);
if blad=6 then
begin
bZapiszzmiany.Click;
bZamknijpl.Click;
end;
if blad=7 then bZamknijpl.Click;
if blad=2 then exit;
end;
end;
No i niestety jak zamykam program to tylko przez chwile widze jak okienko z pytaniem mignie, ale caly program i tak sie zamyka, nie zatrzymuje sie na tym pytaniu. Co zrobic aby program czekał na wybor opcji? Moze inaczej to sie realizuje niz przez onDestroy? jak?