各位大大有個元件設計問題請教(有關屬性的) |
尚未結案
|
fcfa2x
一般會員 ![]() ![]() 發表:5 回覆:2 積分:1 註冊:2003-03-07 發送簡訊給我 |
各位大大有個元件設計問題請教 我自行設計一個元件如下所示
TStorageMessage3 = class(TComponent)
private
FConnection: TADOConnection;
protected
public
published
property Connection: TADOConnection read GetConnection write setConnection;
end;
在上面我設計了一個TADOConnection類型的屬性,此元件我也安裝到元件盤上
,之後我新建一個專案,再Form上拉了一個TADOConnection的元件(名稱設為adoConn1)及上面我自行開發的元件(名稱設為AAA),並且把AAA的Connection屬性,指定為adoConn1然後存檔,這時如果我把adoConn1刪除,則會出現錯誤訊息,感覺上是AAA元件在讀取Connection屬性時出錯,請問各位大大有沒有解決方法?
|
fcfa2x
一般會員 ![]() ![]() 發表:5 回覆:2 積分:1 註冊:2003-03-07 發送簡訊給我 |
以上的問題有打錯,我重新KEY IN 如下 我自行設計一個元件如下所示
TStorageMessage3 = class(TComponent)
private
FConnection: TADOConnection;
protected
public
published
property Connection: TADOConnection read FConnection write FConnection;
end;
在上面我設計了一個TADOConnection類型的屬性,此元件我也安裝到元件盤上
,之後我新建一個專案,再Form上拉了一個TADOConnection的元件(名稱設為adoConn1)及上面我自行開發的元件(名稱設為AAA),並且把AAA的Connection屬性,指定為adoConn1然後存檔,這時如果我把adoConn1刪除,則會出現錯誤訊息,感覺上是AAA元件在讀取Connection屬性時出錯,請問各位大大有沒有解決方法?
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
unit Test; interface uses Classes, ADODB; type TStorageMessage3 = class(TComponent) private FConnection: TADOConnection; protected procedure Notification(AComponent: TComponent; Operation: TOperation); override; public published property Connection: TADOConnection read FConnection write FConnection; end; procedure Register; implementation procedure Register; begin RegisterComponents('SC', [TStorageMessage3]); end; { TStorageMessage3 } procedure TStorageMessage3.Notification(AComponent: TComponent; Operation: TOperation); begin inherited Notification(AComponent, Operation); if (Operation = opRemove) and (FConnection <> nil) and (AComponent = Connection) then Connection := nil; end; end.請加上Notification這個Method即可! Ian |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
funs
一般會員 ![]() ![]() 發表:0 回覆:2 積分:0 註冊:2005-04-22 發送簡訊給我 |
直接write FConnection不好:
TStorageMessage3 = class(TComponent)
private
FConnection: TADOConnection;
procedure SetConnection(const value:TADOConnection) ;
protected
public
published
property Connection: TADOConnection read Connection write SetConnection;
end; procedure SetConnection(const value:TADOConnection) ;
begin
FConnection := Value ;
end ;
|
funs
一般會員 ![]() ![]() 發表:0 回覆:2 積分:0 註冊:2005-04-22 發送簡訊給我 |
直接write FConnection不好:
TStorageMessage3 = class(TComponent)
private
FConnection: TADOConnection;
procedure SetConnection(const value:TADOConnection) ;
protected
public
published
property Connection: TADOConnection read Connection write SetConnection;
end; procedure SetConnection(const value:TADOConnection) ;
begin
FConnection := Value ;
end ;
|
fcfa2x
一般會員 ![]() ![]() 發表:5 回覆:2 積分:1 註冊:2003-03-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |