一个有难度的问题,在IntraWeb开发中,调用COM+接口的问题。 (100分)

  • 主题发起人 主题发起人 asharper
  • 开始时间 开始时间
A

asharper

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟用Delphi7开发一个Intraweb程序,通过一个DLL形式的COM接口调用其中的一个函数,Intraweb程序中界面oncreate过程是这样写的
procedure TformMainjbxx.IWAppFormCreate(Sender: TObject);
var
vCom: Variant;
vData: OleVariant;
begin
vCom:=CreateOleObject('comdemo.demoserver');//调用COM接口
vCom.QueryPszy('select * from pszy',vData);//调用COM接口中的函数
with DatamoduleUnit.DataModule1.CDSGetpszy do//Intraweb程序中DataModule单元
//中的clientdataset
begin
Active:=false;
XMLData:= vData;
Active:=true;
end;
end;
在打开界面的时候提示的错误信息是:尚未调用CoInitialize,小弟跪求解决方法。
 
你首先找到ServerControler
将它的ComInitization的值设为ciNormal或ciMultiThreaded即可
如不行,请联系我QQ:61076707
 
uses comobj;
......
initialization
activex.CoInitialize(nil);
finalization
activex.CoUninitialize;
 
谢谢迷糊和鹤舞,小弟已经解决问题,两位老兄的方法都行,在Create COM对象前需要初始化,运行后释放。
 
后退
顶部