E2017 Zeigertyp erforderlicht (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Diese Fehlermeldung wird angezeigt, wenn Sie den dereferenzierenden Operator "^" auf einen Operanden anwenden, der kein Zeiger ist, und (ein Sonderfall) wenn der zweite Operand in einer Anweisung "Raise <exception> at <address>" kein Zeiger ist.
program Produce; var C: TObject; begin C^.Destroy; end.
Obwohl Klassentypen intern als Zeiger auf die eigentlichen Informationen implementiert werden, ist es nicht zulässig, den dereferenzierenden Operator auf Klassentypen auf Quellebene anzuwenden. Dies ist außerdem nicht notwendig – der Compiler wird automatisch eine Dereferenzierung durchführen, wenn diese erforderlich ist.
program Solve; var C: TObject; begin C.Destroy; end.
Geben Sie einfach den dereferenzierenden Operator nicht an. Der Compiler führt dann automatisch die richtige Operation durch.