Problem z zamykaniem formy

0

Napisałem kod, dzięki któremu gdy plik jest zmodyfikowany a ja postanowię go zamknąć pokazuje się nowa forma:

 
begin
  if (PageControl1.ActivePage.Controls[0] as TSynMemo).Modified then
Form6.ShowModal
       else
PageControl1.ActivePage.Destroy;  
  end;
 

Na nowo powstałej formie mam labla( jest tam pytanie, czy chcesz zapisaćzmiany) i 3 buton:
Button Tak:

begin
Form1.Zapisz1Click(Sender);
Form1.PageControl1.ActivePage.Free;
Form6.Destroy;
end;
 

Button Nie:

begin
Form1.PageControl1.ActivePage.Destroy;
Form6.Destroy;
end;
 

Button Anuluj:

begin
Form6.Destroy;
end;
 

I mam następujące problemy:
-Gdy wciskam "Nie" wywala mi błąd
-Gdy wciskam "Anuluj" również wywala mi błąd
Treść błędu dotyczy: Abstract Error
-Gdy mam więcej niż jedną zakładkę i chce zamknąć np. 4 zakładkę z rzędu i jest ona zmodyfikowana to nic się nie dzieje

0

Po pierwsze, Borland napisał

Do not call Destroy

0

Poczatkujacy zawsze natna sie na ten Destroy, w sumie nigdzie nie spotkalem sie z dobrym artykulem na temat zwalniania/niszczenia zasobow.

do tematu to zamiast formy uzyj MessageDlg:

var
  buttonSelected : Integer;
begin
  // Show a confirmation dialog
  buttonSelected := MessageDlg('Confirmation',mtError, mbOKCancel, 0);

  // Show the button type selected
  if buttonSelected = mrOK     then ShowMessage('OK pressed');
  if buttonSelected = mrCancel then ShowMessage('Cancel pressed');
end; 

pozdro

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