Comment exécuter la procédure depuis une autre unité?
-
05-07-2019 - |
Question
Bien ce genre de question n00b mais je ne peux toujours pas comprendre. J'ai l'unité main
avec la procédure Rejeter ()
. Maintenant, j'ai un autre moteur
d'unité et je souhaite y exécuter la procédure Discard ()
de l'unité main
. J'ai principal dans utilise la section
de engine.pas
. J'ai essayé d'appeler la procédure avec main.Discard ()
mais rien de bon. Qu'est-ce que je fais mal?
La solution
Vous devez insérer la signature de la procédure dans votre interface, comme suit:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
Les autres unités peuvent uniquement " voir " tout ce qui est répertorié dans la section interface.
Autres conseils
Dans l'unité "Main" vous déclarez Rejeter dans l’interface " interface " section:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
Maintenant, dans l'unité " Moteur " vous ajoutez " Main " aux "utilisations" " section.
uses Main, ...
Voilà, vous pouvez appeler Rejeter (...)
maintenant. S'il existe plusieurs Discard ()
, vous pouvez appeler explicitement this Discard ()
à l'aide de Main.Discard ()
.