Nun, diese Art von N00B Frage, aber ich kann es immer noch nicht herausfinden. Ich habe Einheit main
mit Verfahren Discard()
darin. Jetzt habe ich eine andere Einheit engine
und ich möchte davon Discard()
von Einheit main
laufen lassen. Ich habe Haupt in uses
Abschnitt von engine.pas
. Ich habe versucht, die Prozedur mit main.Discard()
aufzurufen, aber nicht gut. Was mache ich falsch?Wie wird die Prozedur von einer anderen Einheit ausgeführt?
6
A
Antwort
5
Sie müssen die Prozedur Unterschrift in Ihrer Schnittstelle setzen, etwa so:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
Andere Geräte können nur „sehen“, was auch immer in der Schnittstelle Abschnitt aufgeführt wird.
5
In der Einheit "Main" Sie erklären Verwerfen in der "Schnittstelle" Abschnitt:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
nun in der Einheit "Motor" Sie "Main" auf "verwendet" Abschnitt hinzufügen.
uses Main, ...
Das ist es, können Sie Discard(...)
jetzt nennen. Wenn es mehr als eine Discard()
gibt, können Sie explizit dieseDiscard()
mit Main.Discard()
aufrufen.
Danke, Jungs! Funktioniert jetzt gut. – Vlad