由于delphi执行强类型检查,因此应用程序在引用动态库的函数时必须和原型保持完全一致。
譬如在应用中函数引用说明如下:
function TransmitData(strKey: string ; GroupNum: string; RecCountArr: TIntegerDynArray;
Values: TStringDynArray; bUpToL4: Boolean = False) :widestring; stdcall ;
external 'ClientPeer.dll' name 'TransmitData'
动态库中的函数如下:
function TransmitData(strKey, GroupNum: string; RecCountArr: TIntegerDynArray;
Values: TStringDynArray; bUpToL4: Boolean = False) :widestring; stdcall ;
应用程序调用该函数时将产生“Access violation。。。”异常。