C
cola
Unregistered / Unconfirmed
GUEST, unregistred user!
最近做了一个Automation的DLL,所有的返回值和参数都是用的PChar,但是在调用时发现了问题,如:
var
Obj: Variant;
Ver: String;
begin
Obj := CreateOleObject('MyOleDll.Common');
//MyOleDll.Common中有一函数,GetVer(FileName: PChar)Char;
Ver := Obj.GetVer([red]'C:/MyProject'[/red]);
//这时系统运行时报参数类型错误,后来发现PChar在Com中不能做参数和返回值!其它都行,主要可能是在Variant中不能解释PChar长度
//如果工程包含TLB声明则可以调用,但是,我们不能够去包含它。
//但我们的ComDll要被VC和Delphi调用,所以必须用PChar,请问解决办法?
end;
var
Obj: Variant;
Ver: String;
begin
Obj := CreateOleObject('MyOleDll.Common');
//MyOleDll.Common中有一函数,GetVer(FileName: PChar)Char;
Ver := Obj.GetVer([red]'C:/MyProject'[/red]);
//这时系统运行时报参数类型错误,后来发现PChar在Com中不能做参数和返回值!其它都行,主要可能是在Variant中不能解释PChar长度
//如果工程包含TLB声明则可以调用,但是,我们不能够去包含它。
//但我们的ComDll要被VC和Delphi调用,所以必须用PChar,请问解决办法?
end;