Delphi XE IDE код парсера ошибка? - PullRequest
4 голосов
/ 17 октября 2010

После добавления IdUDPServer в мою форму и попытки вставить некоторый код в событие OnUDPRead, я не могу добавить какой-либо компонент в форму во время разработки, и при этом я не могу запустить приложение.

это ошибка, которую я получаю http://i54.tinypic.com/2j5jl0p.jpg

есть ли способ решить эту проблему?

1 Ответ

1 голос
/ 17 октября 2010

В этом обработчике событий есть две ошибки. Чтобы исправить их, вы можете

  • удалить систему. от 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;
...