如下面的程序,用goto转到了MyLabel位置,但运行完showmessage后不能自动转回来,有什么好办法转回到goto后面继续执行吗?
procedure  aaa;
   
var
I:integer;
Label MyLabel;
begin
    I:=1;
    goto MyLabel;
    exit;
MyLabel:
     showmessage 'aaaaaa '
end;

解决方案 »

  1.   

    好好在逻辑上考虑一下,你这种思路不太正确procedure  aaa;
       
    var
    I:integer;
    Label MyLabel;
    begin
        I:=1;
        goto MyLabel;
      
    MyLabel:
         showmessage 'aaaaaa '
           exit;//这样不行吗? end;
      

  2.   

    简单问题复杂化,这段代码块直接提取出来做成函数就什么问题都没有了。goto应该禁用,你写的这种代码超没可读性。上层逻辑开发,如果你知道OO,你会体会到什么叫幸福。
      

  3.   

    将你要的ShowMessage放到一个小函数里,调用不就得了!
    Procedure A;
    Var s;String;
      Procedure ProcessCalling;
      Begin
        ShowMessage(s);
      End;
    Begin
        s:='晕啊晕';
        ProcessCalling;
    End;