如何實作 COM 的 內部介面 (祇能由內部產生的介面) |
缺席
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
各位先進:
有一個 COM 的問題想請教各位, 我以 ado 來舉例
ado 內部有 connection 與 field 這兩種介面, 其中
connection 可讓使用者使用 createobject 產生, 但
field 則是由 ADO 本身依實際的狀況產生。我想問的是
我該如何建立出像 field 這樣的 COM 介面呢... 我試過
自己新增一個介面且這個介面是繼承自IDispatch, 然後
我的實作物件試繼承自 TComponent。在 Delphi 中可以
順利使用子介面,但傳遞到 vbscript 時會出現無法識別的
automation object.. 想請教有者方面經驗或知識的先進
前輩, 我那個步驟不對, 該如何修正, 謝謝.
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
感謝各位先進, 小弟已經找到方法了. 要作為內部介面必需繼承自 TAutoIntfObject元件,這個元件可以指定要的 TypeLib,下面列出簡單的範例: TProductBase = class (TAutoIntfObject, ICommonObject) puiblic constructor Create; end; implementation constructor TProductBase.Create(AOwner: TProductBase); begin // 載入本身的 TypeLib inherited Create (ComServer.TypeLib, IProductBase); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |