各位好:
我有一个com组件,是使用delphi写的。但我需要在VC环境下使用这个组件。根据我所查得的资料,在VC下使用这个组件,是需要delphi所生成的IDL文件来生成对应的.H和.C文件的。但我目前没有这个文件,请问在VC环境下使用时,我是否需要这个idl文件,如果不需要,我在在VC下使用这个com组件,该如何使用
菜鸟一个,请多多关照。
我有一个com组件,是使用delphi写的。但我需要在VC环境下使用这个组件。根据我所查得的资料,在VC下使用这个组件,是需要delphi所生成的IDL文件来生成对应的.H和.C文件的。但我目前没有这个文件,请问在VC环境下使用时,我是否需要这个idl文件,如果不需要,我在在VC下使用这个com组件,该如何使用
菜鸟一个,请多多关照。
解决方案 »
- 求助!单文档多视图切换问题
- 如何强制删除正在使用中的文件?
- 有什么办法可以在程序安装时或者在程序运行后,改掉某种后缀名文件的图标.
- win32 C编程 遇到LINK2001错误!!
- 如何对 OLE 进行升级?
- 怎样更改目录名?
- 如何从CMenu继承一个MFC类??Insert -> New Class, 基类中没有CMenu!
- 在组件中如何使用字符串???
- CPtrList的问题! 这个类应该怎么用啊!
- 不用WS_HIDE怎么才能显示窗口,但是隐藏任务栏,不用WS_HIDE,图标最小化到右下角
- 谁有工资管理系统的源代码?用VC++做的,发到[email protected]好吗???高分!!
- 散分!
印象:
很久没有看com了,vc里好像用#import指令直接可以引入com组件。
在vc下使用用delphi制作的com,需要:
1 注册该组件;
2 知道该组件的uuid;
3 就可以用CoCreateInstance()等函数来创建一个该组件的实例。
你好!多谢您的解答,但是我没有函数的原型,在VC环境下调用ACTIVEX控件,需要对应的函数原型,请问怎么解决
您好,我程序中本身并没有ACTIVEX控件。我是调用别人已经用DELPHI写好的COM控件,对方只给了我一个com编写的.dll文件。所以么 :(
2.用oleview查出注册的com的类和接口的GUID: CLSID_YouClass和IID_YouIID的GUID.
3.用const IID IID_YouIID = {............com对象GUID..........}
和 const CLSID CLSID_YouClass = {...............接口GUID........}
4.hr = CoCreateInstance(.......)
hr成功后就可使用了。
你需要知道这个com的class ID 和 interface ID -- 128位的整数;
然后把这两个数定义成易于理解的IID_YouIID和CLSID_YouClass常数,方便程序中使用。最好是能够得到这个dll的接口定义文件,这样你能知道如何调用这个COM;
如果没有,就用VC的工具oleview来查看com的接口吧。
谢谢你的回答。根据我刚才所查看的资料,其实idl文件就是oleview中可以看到的部分。
根据这个,我已经生成了对应的idl文件。再根据这个文件,我生成了对应的.h和.c文件,现在除了调用函数有问题之外,其他问题都已经解决了