Eh bien ce genre de question n00b mais je ne peux toujours pas le comprendre. J'ai l'unité main
avec la procédure Discard()
dedans. Maintenant, j'ai une autre unité engine
et je veux courir à partir de la procédure Discard()
de l'unité main
. J'ai principal dans la section uses
de engine.pas
. J'ai essayé d'appeler la procédure avec main.Discard()
mais pas bon. Qu'est-ce que je fais mal?Comment exécuter la procédure d'une autre unité?
6
A
Répondre
5
Vous devez mettre, comme dans votre interface de signature de la procédure si:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
D'autres unités ne peuvent « voir » ce qui est répertorié dans la section d'interface.
5
Dans l'unité "principal", vous déclarez Jeter dans la section "interface": section
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
maintenant dans l'unité "Engine" vous ajoutez "Main" à "utilise".
uses Main, ...
Thats it, vous pouvez appeler Discard(...)
maintenant. S'il y en a plus d'un Discard()
, vous pouvez appeler explicitement ceDiscard()
en utilisant Main.Discard()
.
Merci, les gars! Fonctionne bien maintenant. – Vlad