我建立了一个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;

解决方案 »

  1.   

    function TPScan.ActionEvent(nActionNumber: SYSINT;
      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;
      

  2.   

    自己解决
    将COM描述语言换成pascal好看多啦Tool-Options-type library