Comment puis-je bénéficier pleinement de type dans les méthodes génériques dans Delphi?

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

  •  26-09-2019
  •  | 
  •  

Question

Cette question a été soulevée lors d'une tentative d'assigner l'événement OnUDPRead sur un composant Indy IdUDPServer. (DelphiXE Update 1)

Le code généré automatique suivant donne une erreur de syntaxe « attendu « > » mais « » trouvé ":

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

Je peux contourner en changeant la déclaration à:

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

Pour référence ultérieure, comment puis-je définir complètement un identifiant de type dans une méthode générique?

Était-ce utile?

La solution

identificateurs de type entièrement qualifiés ne sont pas (encore) pris en charge. Mais vous pouvez contourner cela en utilisant un alias de type:

type
  TMyByte = System.Byte;

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<TMyByte>; ABinding: TIdSocketHandle);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top