德尔福:' GoTo'命令不会在'内部编译

时间:2015-08-04 14:06:31

标签: delphi delphi-2006

编译这样的代码时:

01  function MyGotoDecision: boolean;
02  begin
03    {code ...}
04  end;
05 
06  procedure TForm1.Button1Click(Sender: TObject);
07  label MyLabel;
08  begin
09    with Application do
10    begin
11      {code ...}
12      if MyGotoDecision then
13        goto MyLabel;
14      {more code ...}
15    end;
16    MyLabel:
17      {more code ...}
18  end;

我收到这个奇怪的编译器错误消息:

'Void' does not contain a member named 'MyLabel' at line 13

如果我删除''行,错误消失。

在我的真实节目中,' goto'命令将用于退出严重嵌套的代码,其中安全退出的逻辑是曲折的。

任何帮助都将不胜感激。

编辑:我刚刚发现Delphi正在编译代码。但邮件错误仍显示在“结构视图”中。

1 个答案:

答案 0 :(得分:2)

  

我刚刚发现Delphi正在编译代码。但是消息错误仍显示在“结构视图”中。

那么,这会改变一些事情,并解释为什么我无法重现编译器错误。

IDE用于解析代码的工具与用于编译代码的工具不同。众所周知,IDE使用的工具包含许多缺陷。显然你找到了一个。提交Delphi 2006的错误报告并没有任何意义。您应该学会忽略错误。