¿Cómo ejecutar el procedimiento desde otra unidad?
-
05-07-2019 - |
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?
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 () .