描述:
发现VC做报表比较麻烦, 所以用VB把报表封装成COM组件,想在VC中调用,请问高人在VC中如何调用?
VB建立的组件工程为prjReport, 组件类为clsReport, 编译后的组件为Report.dll.在VB中这样用:
dim objReport as clsReport
set objReport = new clsReport
在VCimport "Report.dll"了,但不知道如何定义和使用,请高人指点。谢谢!
解决方案1:
@import导入近来,再用对象指针
解决方案2:COM是跨平台的,只要像和用VC开发的一样去注册后使用就行,不用做多余的事情
解决方案3: IprjReportPtr pR是这样定义的吗???
关注中....
需要查询IDispatch接口。
指针可能是
IclsReportPtr pR;
可能是
#import "Report.dll"
using namespace clsReport;
然后
IprjReportPtr pR;
申明一个指针吧
然后
hr= pR.CreateInstance(__uuidof(clsReport));
if (FAILED(hr))
{
return FALSE;
}
把dll注册一下
解决方案8: CoCreateInstance之后就可以用了
但是如果要插入到容器的话比较麻烦
参见http://blog.joycode.com/jiangsheng/archive/2004/12/15/41209.aspx
这个没有做过,只做过VC给VB用的,呵呵
不过如果做成ActiveX控件,在VC中直接添加即可了!
“Project”-》Add To Project->Components and Controls