delphi - ¿Cómo ejecutar el procedimiento desde otra unidad?
scope procedures (2)
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 se enumera en la sección de interfaz.
Bueno, este tipo de pregunta n00b, pero todavía no puedo entenderlo. Tengo la unidad main
con el procedimiento Discard()
en ella. Ahora tengo otro engine
unidad y quiero ejecutar el procedimiento Discard()
de la unidad main
. Tengo main en la sección de uses
de engine.pas
. Traté de llamar al procedimiento con main.Discard()
pero no es bueno. ¿Qué estoy haciendo mal?
En la unidad "Principal" declaras Descartar en la sección "interfaz":
unit Main;
interface
uses ...
procedure Discard (...); // only the declaration, not the entire procedure
implementation
... // code
Ahora en la unidad "Motor" agrega "Principal" a la sección "usos".
uses Main, ...
Eso es todo, puedes llamar a Discard(...)
ahora. Si hay más de un Discard()
, puede llamar explícitamente este Discard()
utilizando Main.Discard()
.