Function GetCardNo(CardNo,ErrStr:pChar):integer;
var
  DevName,vData:String;
  Ret,vType:Integer;
  vErr:string;
begin
  DevName:='1,9600,N,8,1';
  vType:=2;
  Ret:=Rcard(DevName,vData,vType) ;
  vErr:='';
  Result:=-1;
  case Ret of
      -1: vErr:='所选串行口打不开!';
    -2: vErr:='与磁卡读写机通信失败(磁卡机没有与主机连接或连接不正确)';
      -3: vErr:='串口设置错误!';
      -4: vErr:='读卡错误!';
      -5: vErr:='读卡操作取消!';
      else
       Result:=1;
end;
  StrPCopy(CardNo,vData);
  StrPCopy(ErrStr,vErr); 
end;
这个函数我想写成DLL,但发现我一调用就报内存错!
我调用的的时候已经将两个参数给了255空格的空间.