【问题标题】:Delphi XE IDE code parser error: "Expected '>' but '.' found."Delphi XE IDE代码解析器错误:“预期'>'但是'。'成立。”
【发布时间】:2011-04-26 15:19:09
【问题描述】:

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

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

【问题讨论】:

    标签: delphi parsing ide delphi-xe


    【解决方案1】:

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

    • 删除系统。来自TArray<System.Byte>(在接口和实现中)
    • 在界面的使用列表中添加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;
    

    【讨论】:

    • 上面的代码可以编译,但是没有用。 Ive made a simple app which uses 2 IdUDPServer` comps,一个用于广播,一个用于侦听,在 Delphi 2010 中按预期工作,但如果引入 DelphiXE 并构建不起作用,即使我在 D2010 中将 TArray&lt;Byte&gt; 替换为 TBytes 也不行跨度>
    • 也许更新到 Indy 10 的新版本会有所帮助,“非官方”每日快照可在 ftp.fulgan.com/ZIP(当前:Indy10_4454.zip)上获得
    • 我试过 Indy10_4454.zipIndy10Tiburon_4448.zip 没有运气,同样的行为。
    • 我刚刚签入了一个更新,它使 IDE 自动添加缺少的 IdSocketHandle 单元引用。但是 TArray 问题是 IDE 中的一个错误,Embarcadero 必须在未来的更新包中解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2011-09-16
    • 2022-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多