2012-10-02 40 views
0

我有動態創建需要被破壞的一種形式:如何釋放多數民衆贊成由別的東西擁有的形式?

  • 後(在應用程序關閉)IF AssignData成功,或
  • 萬一 AssignData崩潰立即

由於表格由應用程序所有,因此只需撥打FreeAndNil即可。但Close也不會工作;它不會關閉窗口。

FrmLoader:= TFrmLoader.Create(Application); <----- Application is the Owner        
TRY 
    FrmLoader.AssignData(FileData);          
EXCEPT                
    FreeAndNil(FrmLoader); // <------ unsafe            
    FrmLoader.Close;  // <------ this is the safe method to close it but won't work 
    RAISE;  
END; 
FrmLoader.DoStuff; 

回答

3

在擁有的窗體上調用Free是完全安全的。或者將表格傳遞給FreeAndNil。這是處理你的表單的正確方法。

所以,這個代碼,你需要什麼。

FrmLoader:= TFrmLoader.Create(Application); 
TRY 
    FrmLoader.AssignData(FileData);          
EXCEPT                
    FreeAndNil(FrmLoader); 
    RAISE;  
END; 
+0

確定。謝謝。 (我必須等9分鐘才能接受你的答案。) – Ampere

相關問題