请问各位com高手,在有com变成的时候,如何在com接口函数中,传递特殊的数据类型。如delphi 中的TAdoquery 对象(100分)

  • 主题发起人 主题发起人 hailonglong
  • 开始时间 开始时间
H

hailonglong

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位com高手,在有com变成的时候,如何在com接口函数中,传递特殊的数据类型。如delphi 中的TAdoquery 对象。十分感谢
 
我是用VARIANT*类型返回一个IRecordset接口的。
 
传递 adoquery.Recordset
 
对不起,请原谅我没有把问题说清楚,我说的传递特殊的数据类型实在利用com类型编辑器
时,在写接口函数使如何传送特殊的数据类型,我自己想可能是通过olevariant,不过知道具体如何实现。
 
function TObjectCom.GetRecord: OleVariant;
begin
with Dm.ADOQuery1 do
try
// Prepared;
open;
Result:=Recordset;
finally
close;
end;

end;
是通过这种形式返回记录集马
 
急,,,前端接收该怎样写呢?????
 
hehe,我也碰到了同样的问题,比如有下面这些类:
TMyObj=class(TObject)
end;

TPerson=class(TMyObj)
end;

IObjFactory=Interface(IUnknown)
function GetObj:TMyObj
end;

我想把IObjFactory作为一个fa放在服务器中,作为一个COM对象输出。不知道可不可以实现

在客户端可以这样调用

procedure AAA
var
IA:IObjFactory;
MyPerson:TPerson;
begin
IA:=CreateComObject('AAA.BBB') as IObjFactory;
MyPerson:=IA.GetObj as TPerson;
ShowMessage(MyPerson.Name);
IA:=nil;
end;
 
值得关注!
 
值得关注
 
后退
顶部