若不引用COM类型库,可以调用com对象吗?(50分)

  • 主题发起人 主题发起人 rainxue
  • 开始时间 开始时间
R

rainxue

Unregistered / Unconfirmed
GUEST, unregistred user!
创建COM对象是不是一定要引用类型库?
若不引用COM类型库,可以调用com对象吗?
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
v:variant;
begin
i:=7;
v:=CreateComObject(Progidtoclassid('pCOM1017.COM20021017'));
v.setvalue(i);
v.incvalue;
v.getvalue(i);
showmessage(inttostr(i));
v:=Unassigned;
end;

以上语句执行到 v.setvalue(i);语句时出错,
因为CreateComObject(Progidtoclassid('pCOM1017.COM20021017'));
语句返回的是IUnknown类型,而我的接口类型是ICOM20021017,
请问如何才能返回ICOM20021017接口(在不引用类型库的情况下)?
是不是必须引用类型库?
 
这是因为接口不支持 IDispath 接口,不能以这种方式调用。
 
CreateOLEObject('pCOM1017.COM20021017');
 
后退
顶部