你應該避免在類的方法中使用一個特定的對象名稱,換句話說,你不應該在TForm1類的方法中直接使用Form1.如果你確實需要使用當前的對象,你可以使用Self關鍵字。請牢記:大多數時候你都沒有必要直接使用當前對象的方法和數據。
如果你不遵循這條規則,當你為一個窗體類創建多個實例的時候,你會陷入麻煩當中。
規則8:盡量避免在其他的窗體中使用Form1(Seldom Use Form1 In Other Forms )
即使在其他窗體的代碼中,你也應該盡量避免直接使用全局變量,如Form1.定義一些局部變量或者私有域供其他窗體使用會比直接調用全局變量要好。
例如,程序的主窗體能夠為對話框定義一個私有域。很顯然,如果你計劃為一個派生窗體創建多個實例,這條規則將是十分有用。你可以在主窗體的代碼范圍內保持一份清單,也可以更簡單地使用全局Sreen對象的窗體數組。
規則9:移除Form1(Remove Form1)
事實上,我的建議是在你的程序中移除Delphi自動創建的全局窗體對象。即使你禁止了窗體的自動添加功能,這也有可能是必要的,因為在Delphi隨後仍然可能添加這樣的窗體。我給你的建議是應該盡量避免使用全局窗體對象。
我認為對於Delphi新手而言,移除全局窗體對象是十分有用的,這樣他們不至於對類和全局對象兩者的關系感到疑惑。事實上,在全局窗體對象被移除後,所有與它有關的代碼都會產生錯誤。
規則10:添加窗體屬性(Add Form PropertIEs)
正如我已經提到過的,當你需要為你的窗體添加數據時,請添加一個私有域。如果你需要訪問其他類的數據,可以為你的窗體添加屬性。使用這種方法你就能夠改變當前窗體的代碼和數據(包含在它的用戶界面中)而不必改變其他窗體或類的代碼。