這裏已經討論過了,但不是詳細說明。如何關閉Delphi中的非模態窗體
我在嘗試讓非模態子窗體關閉時遇到了麻煩。我讓它通知父母,但我得到抽象的錯誤和其他例外。我究竟做錯了什麼?父母是否必須釋放非模態形式,或者不要再嘗試通過該變量來訪問它?
主要形式有:
NonModal := NonModalTForm.Create(Self);
NonModal.Callback := Callback;
NonModal.Show;
Procedure TForm.Callback; // called by non-modal form when closing
begin
FreeAndNil(NonModal); // or should this just be NonModal := nil so I don't try to access a dangling pointer?
end;
在NonModal.pas
procedure NonModalTForm.FormClose;
begin
Callback; // calls parent
end;
你的代碼是切斷你正在坐的分支的編程等價物。 – 2010-01-16 00:48:08