[高分求助]win32坏境下调用COM组件

syl2000 2009-05-21 11:03:03
COM组件在.net坏境下调用确实简单。但是,由于我的应用都是在VC WIN32下面编写的,要升级的话,要改好多好多个应用程序。

在win32坏境下面,如何才能正确调用已经开发好的COM组件啊?有三个文件, aa.dll,aa.h,aa_i.c
...全文
244 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
syl2000 2009-05-22
  • 打赏
  • 举报
回复
问题已经解决!

首先 import aa.dll
然后用智能指针引用!

感谢楼上各位!
mengde007 2009-05-21
  • 打赏
  • 举报
回复
普通调用,没啥区别;
papaofdoudou 2009-05-21
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
「已注销」 2009-05-21
  • 打赏
  • 举报
回复
其实在codeproject.com里有很多例子的。
时间关系:你自己查吧。
littlefish636 2009-05-21
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
这是一个调用JS的COM例子.你参考一下吧

#import "msscript.ocx" no_namespace
#include<iostream>
#include<ctime>
using namespace std;

void func()
{
srand((unsigned int)time(NULL));
IScriptControlPtr control;
control.CreateInstance( __uuidof(ScriptControl) );

control->PutLanguage( "JScript" );
control->PutAllowUI( VARIANT_FALSE );
control->AddCode(
"function test( arg1 , arg2 ) { return arg1+arg2; }"
"function myFunc( arg1 , arg2 ) { return arg1+arg2; }"
);
IScriptProcedureCollectionPtr ProcCollection = control->GetProcedures();
long mCount = ProcCollection->GetCount();
for( long x=0;x<mCount;x++){
IScriptProcedurePtr Proc = ProcCollection->GetItem( x+1 );
cout<<"Procedure Name="<<(const char*)Proc->Name<<"\n";
cout<<"Args Number="<<Proc->NumArgs<<"\n";

VARIANT var = {0};
var.vt = VT_I4 ;
SAFEARRAYBOUND rgsabound[1]={0};
rgsabound[0].cElements = Proc->NumArgs;
SAFEARRAY* psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound);
for (long i = 0; i < Proc->NumArgs ; i ++){
var.lVal = rand() ;
cout<<"param"<<i<<"="<<var.lVal<<" ";
SafeArrayPutElement ( psa , &i , &var );
}
cout<<"\n";
_variant_t Result = control->Run( Proc->Name , &psa );
if( VARIANT_FALSE != Proc->HasReturnValue ){
cout<<(const char*)_bstr_t(Result)<<endl;
}
SafeArrayDestroy( psa );
}
}
int main(int argc, char* argv[])
{
::CoInitialize(NULL);
func();
::CoUninitialize();
return 0;
}


liliangbao 2009-05-21
  • 打赏
  • 举报
回复
帮顶!!!
学习~
syl2000 2009-05-21
  • 打赏
  • 举报
回复
多谢楼上各位的回复!我先仔细看看!

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧