在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近在和老公研究他們公司的產品(其實是老公想做接口,必須研究.).因為他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是否可从内存卸载;DllRegisterServer和DllUnregisterServer负责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 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论