Automation Object 的问题(200分)

  • 主题发起人 主题发起人 superhero
  • 开始时间 开始时间
S

superhero

Unregistered / Unconfirmed
GUEST, unregistred user!
第一个问题:
ITest = interface(IDispatch)
['{C9482326-FC5D-48D3-AF98-E774E1F61049}']
procedure addValues(const dataValue: WideString; const disValue: WideString); safecall;
function getDataValue(index: Integer): WideString; safecall;
end;

TITest = Class(..., ITest);

同一个dpr中另外一个接口中的一个函数
ITest2.f1(): ITest
var
s1, s2: String
begin
Result := TITest.create();
Result.addValues(s1, s2);

在PB6.5中调用
String s = string(ITest.getDataValue(index));
如果返回的是中文,则会缺少最后的几个汉字
pb8.0下调用则没有此问题

在VB6.0中调用则报错,说没有该方法

是什么原因阿?delphi内部问题?COM问题?还是调用的问题

第二个问题:
如果以上com中含有form窗口,而且包含第三方的ocx控件,能够正常显示,但不能正常退出
程序,可能怎么回事
 
后退
顶部