Wie Prozedur von einer anderen Einheit laufen?
-
05-07-2019 - |
Frage
Nun ist diese Art von n00b Frage, aber ich kann es immer noch nicht herausgefunden. Ich habe Einheit main
mit Verfahren Discard()
darin. Jetzt habe ich eine andere Einheit engine
und ich möchte von ihrem Verfahren Discard()
die Einheit main
laufen. Ich habe in uses
Abschnitt engine.pas
main. Ich habe versucht, Verfahren mit main.Discard()
zu nennen, aber nicht gut. Was mache ich falsch?
Lösung
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 dem Schnittstelle Abschnitt aufgeführt wird.
Andere Tipps
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
Jetzt in Einheit "Motor" Sie hinzufügen "Main" zu dem "verwendet" Abschnitt.
uses Main, ...
Das ist es, können Sie Discard(...)
jetzt nennen. Wenn es mehr als ein Discard()
ist, können Sie explizit nennen das Discard()
von Main.Discard()
verwendet wird.