簡體   English   中英

我應該把我的實用工具放在哪里? 我如何使用自定義表單? (DELPHI)

[英]Where should I put my utility methods? How can I used my customized form? (Delphi)

我已經使用Delphi一個多月了,但我仍然不知道正確的做事方式。

如果我有很多可以在很多項目中使用的方法,我應該將它們放在Unit,Form或DataModule上嗎? 我沒有使用過單位(本身),New-> Unit。 我應該把我的實用工具放在那里嗎? 如果是這樣,我可以看一個例子,教程或其他什么。 我過去曾經使用過DataModules,雖然它給我的印象是它只應該在我處理數據庫等時使用。

另一件事,我正在定制一些表單(例如一個帶有一些特定事物的TEdits的表單)。 要使用它,首先我將它添加到.dpr中的用途
CustomizedForm in '\\CForm\\CustomizedForm.pas' ;
然后我將CustomizedForm添加到我的mainform中的用途(我將使用它)。
這是正確的方法嗎? 我只是猜測,雖然我不是特別相信這是正確的方式,但它似乎有效。

我將我的所有人都放在一個名為utils.pas的單元中。 這個對我有用。

如果您有一些程序使用的實用程序的不同分段而不是其他程序,您可能需要為它們創建單獨的單元。

看看: 德爾福單位的解剖

它是Zarko Gajic出色的Delphi Programming初學者指南的一部分,非常值得一

為了獲得最佳的“視覺”介紹,請參閱尼克霍奇斯三十天內的三十個Camtasia演示 這是Turbo Delphi不再提供的,但仍然非常類似於完整的Delphi,讓您在視覺上了解如何在Delphi中做事。

放東西取決於他們做什么。 與表單關聯的單元實際上應該只包含與表單所呈現的用戶界面直接相關的代碼。 由於多種原因,將業務邏輯直接放入表單單元被認為是不好的做法。 如果您的實用程序方法不是特定表單的一部分,則最好將它們放在一個單元中。

至於數據模塊,它們是用於保存非可視控件的容器。 顧名思義,它們是為數據庫訪問而創建的,但它們可以容納各種其他東西。 例如,在工作中,我們有一些包含TImageList控件的數據模塊,這些控件包含在整個應用程序的各個位置使用的圖標列表。 如果您有任何需要與多種不同表單共享的非可視控件,則數據模塊是放置它們的合理位置。

是的,看起來你正在做自定義表格。 如果您有第二個表單,第一個表單需要訪問,(例如,當您點擊按鈕或菜單項時顯示它),那么第一個表單的單元將在其uses子句中需要第二個表單的單元。 (有很多方法涉及類注冊技術,但這是一個高級主題。)

但是,您可能希望避免使用Delphi喜歡在表單單元中設置的全局表單變量。 它使你的程序啟動更慢,並且使用全局變量是另一個被認為是不好的做法。 表單是一個像任何其他Delphi對象一樣的對象,你可以用它的構造函數創建它,調用Show或ShowModal使它出現,然后調用Release或Free就可以了(在幫助文件中讀取TForm.Release以了解何時當你完成它時,你需要使用它。

對於初學者,根據類別創建一些不同的單位 - StringUtils.pas,MathUtils.pas,DateTimeUtils.pas等 - 根據類別將您的函數放入這些單元中,並確保在接口部分包含所有原型,以便它們'其他單位可以看到(但不要過於關注如何對事物進行分類......)並將所有的工具單元保存在一個單獨的專用目錄中。

然后,將Delphi或Project庫路徑指向該目錄,您將能夠使用所有實用程序單元中的功能。

最后,您可能希望將單元轉換為具有類函數或持久結構等的類。

我自己通常創建一個項目組,其中包含一個名為MyProjectUtils.bpl的包,我將所有實用程序單元和類放入該包中。 我從來沒有將它實際部署為一個包,但由於它們被包裝在一起,我總是可以檢查它們是否都能正確編譯,並且它們都可以立即在IDE中進行瀏覽等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM