既然COM和DCOM是语言无关的,那么其它语言的应用程序如何调用DELPHI写的COM或DCOM?(50分)

  • 主题发起人 主题发起人 云淡风轻
  • 开始时间 开始时间

云淡风轻

Unregistered / Unconfirmed
GUEST, unregistred user!
实际上都是用API函数CoCreateInstance创建(或增加引用记数)com对象的.
用CoCreateInstanceEx函数可以跨越机器边界创建com对象.
 
接口与对象分离,只要能取得接口的方法就行了。每种语言有自己的方法。
 
很简单,在其它程序中间倒入你com的Tlb表结构就可以了,
TLB表记录这个Com所有的公开函数接口信息,有了这个接口信息,就可以使用你的com对象了。
现在不管你使用那种开发工具,里面都有一个倒入Com对象TLB表的功能,你自己去找找。
 
同意biggo;
类型库tlb是一种二进制编码文件,在任何开发环境中,
都可以将其导入成文本文件,里面当然是com 的接口申明,
包括方法等信息。然后就可以通过使用它实现的接口而使用它提供的功能。
 
只有实现IDispatch的COM(即AUTOMATION)才能完全实现语言无关,只实现IUNKNOWN的话
只能被C++/DELPHI等使用。
IDispatch依赖于TLB实现,各种语言通过导入TLB来生成相应的接口代码,程序通过调用接口
实现
 
谢谢你们!请帮忙看看:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1266808
 
后退
顶部