Vla*_*lad 7 delphi scope procedures delphi-units
那么这个n00b问题,但我仍然无法弄清楚.我有单位main与程序Discard().现在我有另一个单位engine,我想从它Discard()的单位程序运行main.我有主要uses部分engine.pas.我试着打电话给程序,main.Discard()但没有好处.我究竟做错了什么?
您需要将过程的签名放在界面中,如下所示:
unit main;
interface
procedure Discard();
implementation
procedure Discard();
begin
//do whatever
end;
Run Code Online (Sandbox Code Playgroud)
其他单位只能"看到"接口部分列出的内容.
在"Main"单元中,您在"interface"部分声明Discard:
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
Run Code Online (Sandbox Code Playgroud)
现在在单元"引擎"中,将"Main"添加到"uses"部分.
uses Main, ...Run Code Online (Sandbox Code Playgroud)
多数民众赞成,你Discard(...)现在可以打电话.如果有多个,Discard()你可以通过使用明确地调用它 .Discard()Main.Discard()
| 归档时间: |
|
| 查看次数: |
12650 次 |
| 最近记录: |