Come eseguire la procedura da un'altra unità?
-
05-07-2019 - |
Domanda
Beh, questo tipo di domanda n00b, ma non riesco ancora a capirlo. Ho l'unità main
con la procedura Discard ()
in essa. Ora ho un'altra unità engine
e voglio eseguire da essa la procedura Discard ()
dell'unità main
. Ho principale nella sezione utilizza
di engine.pas
. Ho provato a chiamare la procedura con main.Discard ()
ma non va bene. Cosa sto sbagliando?
Soluzione
Devi inserire la firma della procedura nella tua interfaccia, in questo modo:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
Altre unità possono solo " vedere " qualunque cosa sia elencata nella sezione dell'interfaccia.
Altri suggerimenti
In unità " Main " dichiari Scarta nell'interfaccia " interfaccia " Sezione:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
Ora nell'unità " Motore " aggiungi " Principale " al "usa" sezione.
uses Main, ...
Ecco fatto, puoi chiamare Elimina (...)
ora. Se sono presenti più di un Discard ()
puoi chiamare esplicitamente this Discard ()
utilizzando Main.Discard ()
.