我建立了一个VB的ActiveX工程,定义了如下函数:
Public Function ActionEvent(ByVal nActionNumber As Integer, ByRef vArgument As Variant, ByRef pnCancel As Integer) As Integer
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------ '------------------------------------------------
Exit Function
'----------------
ToExit:
Resume Next
End Function那么在DELPHI中我如何定义类似函数呢,delphi如何在type library中体现ByRef参数呢?我的定义如下,但是没有效果:
procedure TPScan.ActionEvent(nActionNumber: SYSINT; var vArgument,
pnCancel: OleVariant);
var
actionEvent : widestring;
begin
pnCancel := 1;
end;
Public Function ActionEvent(ByVal nActionNumber As Integer, ByRef vArgument As Variant, ByRef pnCancel As Integer) As Integer
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------ '------------------------------------------------
Exit Function
'----------------
ToExit:
Resume Next
End Function那么在DELPHI中我如何定义类似函数呢,delphi如何在type library中体现ByRef参数呢?我的定义如下,但是没有效果:
procedure TPScan.ActionEvent(nActionNumber: SYSINT; var vArgument,
pnCancel: OleVariant);
var
actionEvent : widestring;
begin
pnCancel := 1;
end;
var vArgument: OleVariant; out pnCancel: Smallint): Smallint;
var
actionEvent : widestring;
begin
case nActionNumber of
KfxOcxEventBatchClosing:
begin
//pnCancel := 1;
end;
else
actionEvent := '未知事';
end;
//ShowMessage(IntToStr(pnCancel));
end;
将COM描述语言换成pascal好看多啦Tool-Options-type library