E2086 Le type '%s' n'est pas encore complètement défini (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Cette erreur est produite s'il existe une référence à un type qui vient d'être défini ou s'il existe un type class forward dans une section type et aucune déclaration finale de ce type.
program Produce; type TListEntry = record Next: ^TListEntry; (*<-- Message d'erreur ici*) Data: Integer; end; TMyClass = class; (*<-- Message d'erreur ici*) TMyClassRef = class of TMyClass; TMyClasss = class (*<-- Typo ...*) (*...*) end; begin end.
L'exemple essaie de faire référence à un type record avant d'être complètement défini. De même, à cause d'une erreur de typo, le compilateur ne voit jamais une déclaration complète de TMyClass.
program Solve; type PListEntry = ^TListEntry; TListEntry = record Next: PListEntry; Data: Integer; end; TMyClass = class; TMyClassRef = class of TMyClass; TMyClass = class (*...*) end; begin end.
La solution de ce premier problème consiste à introduire une déclaration de type pour un type pointeur auxiliaire. Le deuxième problème est résolu en orthographiant correctement TMyClass.