Delphi XE IDE代码分析器错误:“0”;预期'&燃气轮机';但是'';找到。”;

Delphi XE IDE代码分析器错误:“0”;预期'&燃气轮机';但是'';找到。”;,delphi,parsing,ide,delphi-xe,Delphi,Parsing,Ide,Delphi Xe,在将IdUDPServer添加到我的表单并尝试将一些代码放入OnUDPRead事件后,我无法在设计时向表单添加任何组件,也无法运行应用程序 有什么办法解决这个问题吗?这个事件处理程序有两个错误。要修复它们,您可以 卸下系统。从TArray(在接口和实现中) 将IdSocketHandle添加到界面中的“使用”列表中 我没有进一步调查,但在这些更改之后,代码可以编译 所以完整的代码应该是 unit Unit12; interface uses Windows, Messages, S

在将
IdUDPServer
添加到我的表单并尝试将一些代码放入
OnUDPRead
事件后,我无法在设计时向表单添加任何组件,也无法运行应用程序


有什么办法解决这个问题吗?

这个事件处理程序有两个错误。要修复它们,您可以

  • 卸下系统。从
    TArray
    (在接口和实现中)
  • IdSocketHandle
    添加到界面中的“使用”列表中
我没有进一步调查,但在这些更改之后,代码可以编译

所以完整的代码应该是

unit Unit12;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, 
  IdSocketHandle, // <-- added
  IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient, IdUDPServer;

type
  TForm12 = class(TForm)
    IdUDPClient1: TIdUDPClient;
    IdUDPServer1: TIdUDPServer;
    procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
      AData: TArray<Byte>; ABinding: TIdSocketHandle);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form12: TForm12;

implementation

{$R *.dfm}

procedure TForm12.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<Byte>; ABinding: TIdSocketHandle);
begin
  //
end;
单元单元12;
接口
使用
窗口、消息、系统工具、变体、类、图形、控件、窗体、,
对话,

IdSocketHandle,//上面的代码可以编译,但不起作用。我制作了一个简单的应用程序,它使用2个IdUDPServer组件,一个用于广播,一个用于收听,在Delphi 2010中可以正常工作,但如果引入DelphiXE和Buildded,则无法正常工作,即使我用D2010中的
TBytes
替换
TBytes
,可能对Indy 10的更新版本有所帮助,“非官方”每日快照可从(当前:Indy10_4454.zip)获得。我尝试了
Indy10_4454.zip
Indy10_4448.zip
,但运气不佳,行为相同。我刚刚签入了一个更新,该更新使IDE自动添加缺少的IdSocketHandle单元引用。但是TArray问题是IDE中的一个bug,Embarcadero必须在未来的更新包中解决这个问题。