试试以下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
nComid:integer;
nError:integer;
begin
nComid:=inicom(0);//inicom为初始化串口,成功返回COM1的HANDLE,否则为0
showmessage(inttostr(nComid));
try
  nError:=inikde(nComid);//inikde 为初始化设备,成功返回1,否则为0
  showmessage(inttostr(nError));
except
  showmessage('Error') ; 
end ;
end;

解决方案 »

  1.   

    TO 
    Liujc(阿聪) 
    程序并没报告错误啊,也没有异常发生,我是奇怪为什么会出现这样的情况。
    第3种情况时,运行没有问题,可结果是非正常的。
      

  2.   

    我看问题出在资源的释放上;
    你在同一个FORM放的那几个按钮对不对?
    所以有可能测试前两种情况资源没有释放,导致第三种失败。。
      

  3.   

    delphi 经常出现类似的问题:在Delphi环境中运行时有异常,或不能执行,而在外部直接运行可执行程序却正常。我个人觉得这与Delphi的内存分配有关
      

  4.   

    我想可能是对SHOWMESSAGE理解的问题,
    TO  kakaxixi_008(呵呵) 
    我还遇到另一个问题可能是内存分配的问题,
    1:{对变量A操作
    }
    {对变量B操作
    }
    2:
    {对变量B操作
    }
    {对变量A操作
    }
    第2种情况时,对变量A操作时发现A的值已改变。