Pregunta

Bueno, este tipo de pregunta n00b pero todavía no puedo resolverlo. Tengo la unidad main con el procedimiento Discard () en ella. Ahora tengo otra unidad engine y quiero ejecutar el procedimiento Discard () de la unidad main . Tengo main en la sección uses de engine.pas . Traté de llamar al procedimiento con main.Discard () pero no fue bueno. ¿Qué estoy haciendo mal?

¿Fue útil?

Solución

Debe poner la firma del procedimiento en su interfaz, así:

unit main;

interface

procedure Discard();

implementation

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

Otras unidades solo pueden " ver " lo que aparezca en la sección de la interfaz.

Otros consejos

En la unidad " Principal " declaras Descartar en la " interfaz " sección:


unit Main;

interface

uses ...

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

implementation

... // code

Ahora en la unidad " Motor " agrega " Principal " a los " usos " sección.

uses Main, ...

Eso es, puedes llamar a Descartar (...) ahora. Si hay más de un Discard () puede llamar explícitamente a this Discard () utilizando Main.Discard () .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top