Wie qualifiziere ich mich voll Typbezeichner in generischen Methoden in Delphi?
Frage
Diese Frage kam beim Versuch, das OnUDPRead Ereignis auf einer Indy IdUDPServer Komponente zuweisen. (DelphiXE Update 1)
Der folgende automatisch generierten Code gibt einen Syntaxfehler „Expected‚>‘, sondern‚‘ gefunden ":
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<System.Byte>; ABinding: TIdSocketHandle);
Ich kann dies umgehen, indem Sie die Erklärung auf sich ändernde:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<Byte>; ABinding: TIdSocketHandle);
Für die Zukunft, wie kann ich voll und ganz einen Typbezeichner in einem allgemeinen Verfahren in Frage kommen?
Lösung
Der vollständig qualifizierte Typbezeichner sind (noch) nicht unterstützt. Aber Sie können umgehen dies eine Art Alias:
type
TMyByte = System.Byte;
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<TMyByte>; ABinding: TIdSocketHandle);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow