我用Delphi调用调用VC写的DLL来完成磁卡读写器的操作,
代码如下://写卡操作
function WriteCard(setting : pchar; mData : pchar;Track : Integer) : Integer;Stdcall;
far;external 'SL300Key.dll' name 'WriteCard';procedure TForm1.Button1Click(Sender: TObject);
var
  a,b : pchar;
  mReturn : Integer;
begin
   a := '1,9600,N,8,1';
   b := '002200000';   mReturn :=WriteCard(a,b,2);
  
   case mReturn of
   ...
   end;
end;
end.程序在 mReturn :=WriteCard(a,b,2);出现问题,系统CPU被占用到90%以上,等很久都没有响应,按下ESC之后自动退出.读写卡均没有成功.注:
SL300Key.dll是硬件提供商用VC所写的一个动太库.就WriteCard的方法定义如下:
INT WriteCard(CHAR *SET,CHAR *WDATA,INT TRACK)

解决方案 »

  1.   

    dll没问题吧?他没有Demo 么?
      

  2.   

    去掉Far试试,这个是指远程调用
      

  3.   

    回: 
       kaguo(▲) Guozhi
       我用他们提供的Demo(vc 生成的.exe)测试,都是可以的.这已表明我的硬件及硬件连接没有问题.回:
       hch_45(HCH ~ahong.net~) 
       fengron(丰臣
      
      我去掉Stdcall;far;问题同样存在.  当我按ESC退出时,返回值与硬件提供商给的说明值一致.