E2018 Type record, object ou class requis (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Le compilateur attendait de trouver le nom de type spécifiant un enregistrement, un objet ou une classe mais ne l'a pas trouvé.
program Produce; type RecordDesc = class ch : Char; end; var pCh : PChar; r: RecordDesc; procedure A; begin pCh.ch := 'A'; (* case 1 *) with pCh do begin (* case 2 *) end; end; end.
Cette erreur peut avoir deux causes. La première est l'application de '.' à un objet qui n'est pas un enregistrement. La deuxième cause est l'utilisation d'une variable qui est d'un type incorrect dans une instruction WITH.
program Solve; type RecordDesc = class ch : Char; end; var r: RecordDesc; procedure A; begin r.ch := 'A'; (* case 1 *) with r do begin (* case 2 *) end; end; end.
La solution simple pour cette erreur est de toujours vérifier que le '.' et WITH sont tous les deux appliqués uniquement sur les enregistrements, les variables objet ou classe.