線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1075
推到 Plurk!
推到 Facebook!

如何實作 COM 的 內部介面 (祇能由內部產生的介面)

缺席
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-21 16:29:11 IP:211.76.xxx.xxx 未訂閱
各位先進:   有一個 COM 的問題想請教各位, 我以 ado 來舉例 ado 內部有 connection 與 field 這兩種介面, 其中 connection 可讓使用者使用 createobject 產生, 但 field 則是由 ADO 本身依實際的狀況產生。我想問的是 我該如何建立出像 field 這樣的 COM 介面呢... 我試過 自己新增一個介面且這個介面是繼承自IDispatch, 然後 我的實作物件試繼承自 TComponent。在 Delphi 中可以 順利使用子介面,但傳遞到 vbscript 時會出現無法識別的 automation object.. 想請教有者方面經驗或知識的先進 前輩, 我那個步驟不對, 該如何修正, 謝謝.    
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-21 18:47:04 IP:211.76.xxx.xxx 未訂閱
感謝各位先進, 小弟已經找到方法了.
要作為內部介面必需繼承自 TAutoIntfObject元件,這個元件可以指定要的 TypeLib,下面列出簡單的範例:    TProductBase = class (TAutoIntfObject, ICommonObject)
   puiblic
      constructor Create;
end;    implementation    constructor TProductBase.Create(AOwner: TProductBase);
begin
    // 載入本身的 TypeLib
    inherited Create (ComServer.TypeLib, IProductBase);
end;    
系統時間:2024-04-29 15:23:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!