我有我想要執行的功能,我的應用程序完成初始化後,主窗體已創建。我確實有OnShow事件中的代碼(稱爲ProcedureX),但我剛剛注意到它被調用了兩次,因爲OnShow發射兩次。它激發當主程序調用DPR:我的Delphi應用程序完成初始化後,應該在哪裏放置代碼?
Application.CreateForm(TMainForm, MainForm) ;
爲我所期望的。但在那之後,當我從包括屏幕上的位置的形式INI文件閱讀的東西,我有一個電話:
MainForm.position := poScreenCenter ;
這樣,它會再次出現火災OnShow中的事件。
我在哪裏可以將我的調用放到ProcedureX中,該調用只能調用一次,哪個需要主表單才能執行?
我按照約定 「與A F前綴田」,所以FRunOnce聽起來更加規範我。不是一個規則,只是一個約定,就像使用T的前綴類名稱一樣。只是讓其他代碼更容易閱讀。 – jachguate 2010-09-24 01:52:14
@jachguate - 當有'F'時,我覺得它應該有一個getter/setter。但那麼這是我的問題,我猜...編輯答案,謝謝指出。 – 2010-09-24 02:10:22
好的,我曾想過這樣做,但似乎是在治療症狀,而不是原因。我想我正在尋找其他一些事件(比如「OnEverythingFinished」),它只被解僱了一次。我所聽到的是沒有!謝謝你的幫助。 FRunOnce就是這樣。 – rossmcm 2010-09-24 02:26:13