全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1623
推到 Plurk!
推到 Facebook!

中間層的繼承問題

缺席
andyfurong
一般會員


發表:2
回覆:3
積分:1
註冊:2006-11-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-03 07:58:17 IP:119.141.xxx.xxx 訂閱
 各位大大:
我剛接觸多層。有很多不明白的地方,請大家指點指點。
我想請教一下,如何在中間層中使用繼承。。。
舉個例子:
有個接口:
IMyTestRemoteDM = interface(IAppServer)
procedure MyProc(const AMsg: WideString); safecall;
end;

IMyTestRemoteDM2 = interface(IAppServer)
procedure MyProc2(const ACommand: WideString); safecall;
end;

我在遠程數據模塊中實現了第一個接口
TMyTestRemoteDM = class(TRemoteDataModule, IMyTestRemoteDM)
public
procedure MyProc(const AMsg: WideString); safecall;
end;

現在的問題是,我另外再有一個遠程數據模塊,它需要實現IMyTestRemoteDM 和IMyTestRemoteDM2這二個接口。我想,如果它從TMyTestRemoteDM 這個數據模塊繼承下去的話,就已經實現了第一個接口了。那麼我就可以只要實現第二個接口就可以了。。。。

不知道怎麼表達了。。。我想要的形式是這樣的:
IMyTestRemoteDM = interface(IAppServer)
procedure MyProc(const AMsg: WideString); safecall;
end;

IMyTestRemoteDM2 = interface(IAppServer)
procedure MyProc2(const ACommand: WideString); safecall;
end;

TMyTestRemoteDM = class(TRemoteDataModule, IMyTestRemoteDM)
public
procedure MyProc(const AMsg: WideString); safecall;
end;

TMyTestRemoteDM2 = class(TMyTestRemoteDM, IMyTestRemoteDM)
public
procedure MyProc2(const ACommand: WideString); safecall;
end;

我這樣實現,但是在客戶端調用MyProc2時,拋出異常,說MyProc2不是一個自動化對像。。。。
是不是說,針對TMyTestRemoteDM2,我們還需要用
TComponentFactory.Create(ComServer, TMyTestRemoteDM,
Class_MyTestRemoteDM, ciMultiInstance, tmApartment);這些來創建自動化對像?????


我的MSN: andyfurong@gmail.com,歡迎大家加我MSN,好一起討論,共同提高。。。
期侍您的加入。

系統時間:2017-12-14 12:18:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!