Как мне полностью определить идентификаторы типов в универсальных методах в Delphi? - PullRequest
2 голосов
/ 19 ноября 2010

Этот вопрос возник при попытке назначить событие OnUDPRead для компонента Indy IdUDPServer. (DelphiXE Update 1)

Следующий автоматически сгенерированный код выдает синтаксическую ошибку «Ожидается»> «но». найдено ":

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<System.Byte>; ABinding: TIdSocketHandle);

Я могу обойти это, изменив объявление на:

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<Byte>; ABinding: TIdSocketHandle);

Для дальнейшего использования, как мне полностью определить идентификатор типа в универсальном методе?

1 Ответ

4 голосов
/ 19 ноября 2010

Полностью определенные идентификаторы типов (пока) не поддерживаются. Но вы можете обойти это, используя псевдоним типа:

type
  TMyByte = System.Byte;

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<TMyByte>; ABinding: TIdSocketHandle);
...