E2178 Méthodes dynamiques et gestionnaires de messages non autorisés dans la section OLE Automation (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Vous avez mis, de manière incorrecte, une méthode dynamique ou message dans une section 'automated' d'une déclaration de classe.
program Produce; type Base = class automated procedure DynaMethod; dynamic; procedure MessageMethod(VAR msg : Integer); message 151; end; procedure Base.DynaMethod; begin end; procedure Base.MessageMethod; begin end; begin end.
Vous ne pouvez pas avoir de déclaration de méthode dynamic ou message dans une section OLE automation d'une classe. Ainsi, les deux déclarations de méthode du programme ci-dessus produisent des erreurs.
program Solve; type Base = class procedure DynaMethod; dynamic; procedure MessageMethod(VAR msg : Integer); message 151; end; procedure Base.DynaMethod; begin end; procedure Base.MessageMethod; begin end; begin end.
Il existe plusieurs moyens de supprimer cette erreur du programme. D'abord, vous pouvez déplacer toute déclaration produisant cette erreur hors de la section automated, comme cela a été fait dans cet exemple. Vous pouvez aussi enlever les attributs dynamic ou message de la méthode. Mais, bien sûr, si vous enlevez ces attributs, vous n'aurez pas le comportement désiré, mais l'erreur sera supprimée.