这是声明的函数
function SDT_ReadBaseMsg(iPortID: Integer;
pucCHMsg: array of byte; puiCHMsgLen: pchar; 
pucPHMsg: array of byte; puiPHMsgLen: pchar; iIfOpen:Integer ):Integer;stdcall;far;external 'sdtapi.dll';
var
    data : array[0..1280] of byte;    
    dwlt : array[0..1024] of byte;
    len1 : pchar;
    len2 : pchar;    
begin
    len1 :=0;
    len2 :=0;    
        if SDT_ReadBaseMsg(EdziPortID,data,@len1,dwlt,@len2,1) = 144 then
在这里掉用的
不知到为什么,出错.各位帮我看看吧