社区
ATL
帖子详情
COM组件IDL的问题
utada776
2008-09-22 10:49:28
我对组件不太了解,问个初级问题
我写一个IDL文件,编译之后分别生成客户端和服务器端。
那么客户端就能按照接口定义的格式 调用服务器端的应用对吗?
那假如 服务器端和客户端 即为客户端也为服务器端,两者相互调用,这样IDL文件应该怎么写?
换句话说,IDL是只描述了客户端调用服务器端的接口吗?
如果系统里 有好多组件,每个组件即为服务器也为客户端 是不是我要定义很多个IDL?
是否我的理解有问题,请指出,谢谢。
...全文
231
6
打赏
收藏
COM组件IDL的问题
我对组件不太了解,问个初级问题 我写一个IDL文件,编译之后分别生成客户端和服务器端。 那么客户端就能按照接口定义的格式 调用服务器端的应用对吗? 那假如 服务器端和客户端 即为客户端也为服务器端,两者相互调用,这样IDL文件应该怎么写? 换句话说,IDL是只描述了客户端调用服务器端的接口吗? 如果系统里 有好多组件,每个组件即为服务器也为客户端 是不是我要定义很多个IDL? 是否我的理解有问题,请指出,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paerxiushi
2008-09-24
打赏
举报
回复
对于一般的进程外服务器而言,那个IDL必须包含在服务端与客户端的两边,不然就客户端就无法将参数调整给服务端使用.
对于进程外的调度服务器而言,也就是实现了IDispatch的双接口,服务端需要IDL,而客户端则不需要IDL,因为IDL已经被注册到类型库之中,所以客户端可以不需要接口的头文本就可以调用组件了.
对于进程内服务器而言,如果组件仅适用于VC,而且不考虑多线程情况,客户端与服务端不需要使用IDL
连接点和事件模型都是客户端与服务端相互调用的例子,事件模型用在ActiveX控件中.
IDL是只描述了客户端调用服务器端的接口吗?
____________________________________
是的,使用MIDL对IDL进行编辑可产生代理与残根DLL.如果组件种类许多,考虑到需要对组件进行分类,就应该定义多个IDL.一个组件可以包含一个或多个IDL.一般事件模型中,客户需要定义自己的IDL与组件.
wangweixing2000
2008-09-24
打赏
举报
回复
idl只是为了定义之间的接口,没有那么复杂,谁做客户谁做服务都一样就把它当成dll来看,只不过它可以跨语言而已:)
至于exe类型的服务,那就不一样了,他只能做为服务用了:)
UDX协议
2008-09-23
打赏
举报
回复
idl是描述性语言,他主要描述的是能做什么(方法)?发生什么?(事件)?
注册表资源帮我们知道他们在什么地方。
liyinlei
2008-09-22
打赏
举报
回复
LZ还是好好去看COM。
IDL只是描述接口的语言
hbuzzd
2008-09-22
打赏
举报
回复
个人理解:
我觉得并不时说IDL编译之后就生成了客户端和服务端。而只是提供了一个供外部使用的接口,其实组件内部也有聚合和包含并不一定要扩展到Client-Server的模型。还有连接点的技术也是支持了服务端对客户端的回调功能的。
至于IDL应该是要在每一个组件服务端都有定义自己的接口。这个对应于组件服务端所能提供的服务功能来说应该也还是很简单的。如果是太简单或者可以整合到内部使用的,应该就没有必要使用组件来完成了。个人意见不知道对不对。
jameshooo
2008-09-22
打赏
举报
回复
很大的问题,大到不知道如何解释
IDL
与C#的数据传递方法研究
COM
_
IDL
_CONNECT
IDL
与C#的数据传递方法研究
COM
_
IDL
_CONNECT
c++开发一个简单累加的
COM
组件
1.
COM
组件
的实现 2.
COM
组件
的调用
VC++编写
COM
组件
教程
本教程的目的是告诉你如何使用ATL创建一个
COM
服务器,并使用Visual C++和Visual Basic程序来分别调用这个服务器。以及编写复杂的
com
组件
vc6调用matlab编译的
com
组件
示例1
vc6通过代码 调用 matlab编译生成的
com
组件
mfile ->
com
组件
-> vc6 exe
VC++调用
IDL
的使用案例
VC++调用
IDL
的使用案例 有多个
IDL
和VC相互调用的案例 打包在一个文件夹中
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章