Вопрос

Ну, вопрос такого рода, но я до сих пор не могу понять. У меня есть блок main с процедурой Discard () . Теперь у меня есть другой модуль engine , и я хочу запустить из него процедуру Discard () модуля main . У меня есть основной в разделе использует engine.pas . Я пытался вызвать процедуру с помощью main.Discard () , но безрезультатно. Что я делаю не так?

Это было полезно?

Решение

Вам необходимо поместить подпись процедуры в ваш интерфейс, например так:

unit main;

interface

procedure Discard();

implementation

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

Другие устройства могут только "видеть" все, что перечислено в разделе интерфейса.

Другие советы

In unit " Main " вы объявляете Discard в интерфейсе " раздел:


unit Main;

interface

uses ...

procedure Discard (...); // only the declaration, not the entire procedure

implementation

... // code

Сейчас в блоке "Двигатель" Вы добавляете " Основное " «использует» раздел.

uses Main, ...

Вот и все, теперь вы можете вызвать Discard (...) . Если существует более одного Discard () , вы можете явно вызвать this Discard () с помощью Main.Discard () .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top