嗯,这种n00b问题,但我仍然无法弄清楚。我有单元
main
,其中有程序 Discard()
。现在我有另一个单元 engine
,我想从它运行单元 Discard()
的程序 main
。我的主要内容在 uses
的 engine.pas
部分。我尝试用 main.Discard()
调用程序,但效果不佳。我做错了什么?
您需要将程序的签名放入界面中,如下所示:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
其他单位只能“看到”界面部分中列出的内容。
在“Main”单元中,您在“interface”部分声明 Discard:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
现在在“Engine”单元中,将“Main”添加到“uses”部分。
uses Main, ...
就是这样,您现在可以拨打
Discard(...)
。如果有多个 Discard()
,您可以使用 Discard()
显式调用 this
Main.Discard()
。
简单地,将过程 Discard(..) 放在 form1 声明的公共部分