19.2.1.4. 測試未安裝的部件
在將新部件安裝在Component Palette之前就能測試部件運行時的動作。這對于調(diào)試新部件特別有用,而且還能用同樣的技術(shù)測試任意部件,無論該部件是否出現(xiàn)在Component Palette上。
從本質(zhì)上說,你通過模仿用戶將部件放置在窗體中的Delphi的動作來測試一個未安裝的部件。
可按下列步驟來測試未安裝的部件
1. 在窗體單元的uses語句中加入部件所在單元的名字
2. 在窗體中增加一個對象域來表示部件
這是自己增加部件和Delphi增加部件的方法的主要不同點。
你將對象域加在窗體類型聲明底部的public部分。Delphi則會將對象域加在底部聲明的上面。
你不能將域加在Delphi管理的窗體類型的聲明的上部。在這一部分聲明的對象域?qū)⑾鄳?yīng)在存儲在DFM文件中。增加不在窗體中存在的部件名將產(chǎn)生DFM文件無效的錯誤。
3. 附上窗體的OnCreate事件處理過程
4. 在窗體的OnCreate處理過程中構(gòu)造該部件
當(dāng)調(diào)用部件的構(gòu)造過程時,必須傳遞Owner參數(shù)(由Owner負(fù)責(zé)析構(gòu)該部件)一般說來總是將Self作為Owner的傳入?yún)?shù)。在OnCreate中,Self是指窗體。
5. 給Component的Parent屬性賦值
設(shè)置Parent屬性往往是構(gòu)造部件后要做的第一件事時。Parent在形式上包含部件,一般來說Parent是窗體或者GoupBox、Panel。通常給Parent賦與Self,即窗體。在設(shè)置部件的其它屬性之前最好先給Parent賦值。
6. 按需要給部件的其它屬性賦值
假設(shè)你想測試名為TNewComponent類型的新部件,庫單元名為NewTest。窗體庫單元應(yīng)該是這樣的;
unit Unitl;
interface
uses SysUtils, Windows, Messages, Classes, Grophics, Controls, Forms, Dialogs,
Newtest;
type
Tforml = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ private申 明 }
public
{ public申 明 }
NewComponent: TNewComponent;
end;
var
Forml: TForml;
implementation
{$R *.DFM }
procedure TForml.FormCreate ( Sender: TObject ) ;
begin
NewComponent := TNewComponent.Create ( Self );
NewCompanent.Parent := Self;
NewCompanent.Left := 12;
end;
end.
相關(guān)推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |