`
omygege
  • 浏览: 1352770 次
文章分类
社区版块
存档分类
最新评论

Delphi COM接口編程(ActiveX Library) (一)

 
阅读更多

最近在和老公研究他們公司的產品(其實是老公想做接口,必須研究.).因為他delphi的基礎比較薄弱,所以,在他的哀求,我又開始研究起delphi關于COM接口編程.

在較早的時候,我的博客里已經有關于COM編程的有關知識(http://hi.baidu.com/yueyun889/blog/item/53ad2c1208b6f950f919b8ee.html),不過相信對于大部分入門者,包括我,也很難看懂(其實,到現在我也沒有參透那篇文章,和我沒有認真研究有關吧...)

下面用一個具體的實例開看看如何實現的吧.

因為程序涉及ActiveX技術,那就先來看看ActiveX的用途:

ActiveX用来描述建立在COM基础上的非COM技术,它的重要内容是自动化(Automation),自动化允许一个应用程序(称为自动化控制器)操纵另一个应用程序或库(称为自动化服务器)的对象,或者把应用程序元素暴露出来.

程式實例部分:

: ActiveX Library,COM Object的建立:

1.選擇File – New-Other ,在彈出的”New Items” 中選擇ActiveX頁面,雙擊 ActiveX Library,出現編輯模板:

exports

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer;

这四个例程并不是我们编写的,它们都在ComServ单元例实现.例程DllGetClassObject通过CLSID得到支持IClassFactory接口的对象;例程DllCanUnloadNow判断DLL是否可从内存卸载;DllRegisterServerDllUnregisterServer负责DLL的注册和解除注册,其具体的功能由ComServer实现。

2.使用同樣的方法,ActiveX頁面,選擇 COM Object.彈出如下向導:

Class Name(類名,這個注意下,后面有涉及.在此填寫 Sample) 中填寫類名稱.(Instancing:實例創建方式,Threading Model:線程模式,建議使用默認選項.) 其中Implemented Interface(接口名)會根據類名自動填寫.

點擊OK. 出現如下界面:

上圖就是類型庫編輯器(Type Library).

http://hi.baidu.com/%CD%E1%C0%E6%D0%A1%D1%BE/blog/item/4ea0392f3754ca3d1e308926.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics