如何从另一台设备运行程序?

问题描述 投票:0回答:3

嗯,这种n00b问题,但我仍然无法弄清楚。我有单元

main
,其中有程序
Discard()
。现在我有另一个单元
engine
,我想从它运行单元
Discard()
的程序
main
。我的主要内容在
uses
engine.pas
部分。我尝试用
main.Discard()
调用程序,但效果不佳。我做错了什么?

delphi scope procedures delphi-units
3个回答
12
投票

您需要将程序的签名放入界面中,如下所示:

unit main;

interface

procedure Discard();

implementation

procedure Discard();
begin
//do whatever
end;

其他单位只能“看到”界面部分中列出的内容。


9
投票

在“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()


0
投票

简单地,将过程 Discard(..) 放在 form1 声明的公共部分

© www.soinside.com 2019 - 2024. All rights reserved.