7

好吧,这种n00b问题,但我仍然无法弄清楚。我有一个main带有程序Discard()的单元。现在我有另一个单元engine,我想从它运行Discard()单元程序main。我usesengine.pas. 我试图用main.Discard()但没有好处来调用程序。我究竟做错了什么?

4

2 回答 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 回答