好吧,这种n00b问题,但我仍然无法弄清楚。我有一个main
带有程序Discard()
的单元。现在我有另一个单元engine
,我想从它运行Discard()
单元程序main
。我uses
在engine.pas
. 我试图用main.Discard()
但没有好处来调用程序。我究竟做错了什么?
问问题
15061 次
2 回答
8
您需要将程序的签名放在您的界面中,如下所示:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
其他单位只能“看到”界面部分中列出的任何内容。
于 2009-09-11T13:58:02.950 回答
7
在单元“Main”中,您在“interface”部分声明 Discard:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
现在在单元“引擎”中,您将“主要”添加到“使用”部分。
uses Main, ...
就是这样,你现在可以打电话Discard(...)
了。如果有多个,您Discard()
可以使用 .Discard()
Main.Discard()
于 2009-09-11T14:01:50.433 回答