Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
請問我要如何才能在 unit2 中改變 unit1 中的變數值. 例如,我在form1(unit1)中 show form2(unit2) ,且在 form2中得到 user 輸入的字串,該如何將它傳給 unit1.
要存取另一個 unit 的變數、程序或函數, 只要利用uses述句中寫明那個 unit 的名稱即可, 例如:
uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs;
不過, 在使用上有幾個提醒請您注意的:
![]() |
兩個 unit 均在 interface 互相 uses 對方是不可以的,一定要互相參考的話, 您可以在 unit1 的 interface uses unit2, 然後在 unit2 的 implementation 中 uses unit1, 這點應該已經回答了您的問題。 |
![]() |
uses 只能使用對方 interface 部分的變數、程序或函數, 如果是類別(Class), 即使該類別的物件定義在interface 部分, 也不能存取到該類別界定為 private的部分 |
![]() |
uses 述句後的單元, 不論是.pas 或 .dcu , 不一定要與 project 放在同一個目錄, 如果這個單元在 project 所在的目錄中找不到, delphi 會在編譯時, 按照主選單 Options | Project... | Directories/Conditionals 這頁的 Search path 設定,或者是 Options | Environment | Library 這頁的 Library path 設定的內容, 逐一去搜 尋這個指定的單元所以,您可以將一般通用性的單元(例如專為字串處理撰寫的單元)整理在同一個目錄, 日後使用與修改這些單元時,版本上會比較統一且易於管理. |
希望這些能幫得上您的忙
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |