delphi scope procedures delphi-units

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() .