E2086 Typ '%s' ist nicht vollständig definiert (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Dieser Fehler tritt auf, wenn Sie einen Typ referenzieren, der noch nicht vollständig definiert ist, oder wenn Sie in einem type-Abschnitt eine forward-Deklaration für eine Klasse verwenden, ohne später den Typ zu deklarieren.
program Produce;
type
TListEntry = record
Next: ^TListEntry; (*<-- Hier die Fehlermeldung*)
Data: Integer;
end;
TMyClass = class; (*<-- Hier die Fehlermeldung*)
TMyClassRef = class of TMyClass;
TMyClasss = class (*<-- Schreibfehler ...*)
(*...*)
end;
begin
end.
In diesem Beispiel wird ein Record-Typ referenziert, der noch nicht definiert ist. Außerdem ist wegen eines Tippfehlers die Klassendeklaration von TMyClass unvollständig.
program Solve;
type
PListEntry = ^TListEntry;
TListEntry = record
Next: PListEntry;
Data: Integer;
end;
TMyClass = class;
TMyClassRef = class of TMyClass;
TMyClass = class
(*...*)
end;
begin
end.
Als Lösung für das erste Problem können Sie eine Typdeklaration für einen Hilfszeiger einführen. Das zweite Problem wird dadurch behoben, dass TMyClass richtig geschrieben wird.