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?

Était-ce utile?

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 () .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top