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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top