Pergunta

Bem, este tipo de pergunta n00b, mas eu ainda não consigo descobrir isso. Eu tenho main unidade com procedimento Discard() nele. Agora eu tenho uma outra engine unidade e quero fugir dela procedimento Discard() da unidade main. Tenho principal na seção uses de engine.pas. Tentei ligar procedimento com main.Discard() mas não é bom. O que estou fazendo de errado?

Foi útil?

Solução

Você precisa colocar a assinatura do procedimento na sua interface, assim:

unit main;

interface

procedure Discard();

implementation

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

Outras unidades podem apenas "ver" o que está listado na seção de interface.

Outras dicas

Na unidade "Main" você declarar Descartar na seção "interface":


unit Main;

interface

uses ...

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

implementation

... // code

Agora, na unidade de "Motor" de adicionar "Principal" para a seção "usos".

uses Main, ...

É isso, você pode chamar Discard(...) agora. Se houver mais de um Discard() você pode explicitamente chamar este Discard() usando Main.Discard().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top