请教一个问题:用VC++写的COM组件,如何在DELPHI中使用??急 (50分)

  • 主题发起人 主题发起人 xdf_hubei
  • 开始时间 开始时间
X

xdf_hubei

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一个问题:用VC++写的COM组件,如何在DELPHI中使用??急
希望各位老大帮忙了~![:D][:D][:D]
 
先注册。

对于com对象,调用,传如GUID
function CreateComObject(const ClassID: TGUID): IUnknown;
对于Automation object,调用,传入服务器名
function CreateOleObject(const ClassName: string): IDispatch;
const
MyServer: TGUID = '{00000534-0000-0010-8000-00AA006D2EA4}'

var
v: Variant;
begin
v := CreateComObject(MyServer);
v.任何方法或者属性
//不会进行语法检查
end;
上面是运行时间绑定的调用方法,
也可以把com的tlb倒入为pas文件,然后应用,像adodb

---
http://www.8421.org
 
就如楼上所言
如果你正确注册了VC编写的COM组件
就用普通的COM组件调用方式一样去调用好了

怎么注册不了?
报什么错!!!!
 
可是问题是,我这个COM组件注册不上,总报错
如果注册上了,在DELPHI里面应该做何处理?
 
注册不起那delphi就无法调用
注册好了,就按我上面说的方法调用最简单
 
就和调用普通的一样啊
 
最好、最简单的方法:
把com的TLB.pas 拷到DELPHI工程目录下,ADD FILE TO PROJECT。
如COM 的TLB.pas 文件名为:Query_TLB.pas,先uses Query_TLB,然后
procedure TForm1.BitBtn1Click(Sender: TObject);
var
obj:IQuery;
begin
obj:=CoQuery.CreateRemote('MachineName');
obj.Query('',''……);
end;
 
放分了,问题还是没有解决,我还是不懂!注册上了,但是不会使用,只知道CLASS的名字是
DVB_P,但是不知道怎么用,失败,伤心[:(]
 
你是不知道class中的每个方法吧?
 
后退
顶部