描述:
现有一vb的activeX dll:VBTest.dll
其中方法只有一个public sub msg(value as string)
现在要用vc调用,好像要用vc的枚举com接口知识,我不会,能不能给个完整的源代码还有如引入什么的操作步骤.谢谢了
解决方案1:
我是VB转VC的,没有系统的学过C++,都是工作中用到,然后查资料,上论坛问高手。
该学什么,我可能给不出很有建设性的建议。主要是看你的兴趣了,比如说com,要学好,
那得下多点功夫,相关的书有很多《com本质论》,《com原理和应用》,《com技术内幕》,
《深入解析ATL》等。多看多练。
你写的程序有错,可以发到我EMAIL,有空我帮你调试看看~_~
我给你发了例子,在我的PC上运行通过.
你注册的DLL版本有没有改变了?
1.建立一个Dialog的工程
2.在stdafx.h中
#include "atlbase.h"
#import "vbtest.dll" no_namespace //dll的真实路径
3. 在app的InitInstance中
AfxOleInit();
4. 在Dialog上加个button, 在button的单击事件中
_clsMSGPtr obj;
obj.CreateInstance (__uuidof(clsMSG));
CString str = "Test Your vbTest.dll";
BSTR strMsg;
strMsg = str.AllocSysString( );
obj->msg( &strMsg );
::SysFreeString ( strMsg );
可用自动化IDispatch接口来调用方法。
1.创建组件
2.查询组件得到IDispatch接口
3.IDispatch::Invoke
4.清除组件
t97102003@163.com,把DLL发给我帮你测试一下,然后把结果发给你.
解决方案6: 不懂,帮顶。
建议到vc里面发贴。