Come faccio a qualificare completamente di tipo identificatori nei metodi generici in Delphi?

StackOverflow https://stackoverflow.com/questions/4222379

  •  26-09-2019
  •  | 
  •  

Domanda

Questa domanda è venuto quando si cerca di assegnare l'evento OnUDPRead su un componente di Indy IdUDPServer. (DelphiXE Update 1)

Il codice generato automaticamente a seguito dà un errore di sintassi "Previsto '>' ma '' trovato ":

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

posso ovviare a questo cambiando la dichiarazione:

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

Per riferimento futuro, come faccio a qualificare completamente un identificatore del tipo in un metodo generico?

È stato utile?

Soluzione

identificatori di tipo completo non sono (ancora) supportati. Ma si può aggirare questo utilizzando un tipo alias:

type
  TMyByte = System.Byte;

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<TMyByte>; ABinding: TIdSocketHandle);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top