....type
  MyException=class(Exception)
end;
.....//定时器事件,定时读取COM口数据并显示
procedure TForm1.Timer1Timer(Sender: TObject);
var
  Temp,HexCode : string;
  DecimalCode :integer;
begin
  Temp:=ReceiveStr();
  try
    HexCode:=strtohex(Temp);   *
    Display(HexCode);
  except
    on E:MyException do
      begin
        Display(Temp);
        exit;
      end;
  end;
end;程序每次运行到    HexCode:=strtohex(Temp); 这距的时候就产生异常错误,不是应该就算这里操作失败也会跳到except后面去的吗?是异常处理方面的错误吗?哪位高手能指点指点,谢谢!
先说明函数strtohex(s:string)已经定义好的 
function strtohex(s:string):string;
var
  DecimalCode: integer;
  HexCode: string;                                val
begin
  DecimalCode:=strtoint(s);
  HexCode:=inttohex(DecimalCode,2);
  result:=HexCode;
end;

解决方案 »

  1.   

    设计期就是这样,你编译成exe来执行就好了
      

  2.   

    先谢谢1楼了噢!
    但事实上编译生成的exe还是不行,同样产生错误!郁闷!
      

  3.   

    之前看到以为网友说过相似的问题,他说如果程序跑到try后面的HexCode:=strtohex(Temp)这一句,出现问题,发生异常的话,程序根本就不会跳到except后面的处理代码中去,应该在try和except之间建立另一个进程才行,不知道有没有这回事呢?