Delphi - definir procedure externo (soy principiante)

 
Vista:

definir procedure externo (soy principiante)

Publicado por raul (16 intervenciones) el 03/04/2001 11:42:22
Hola, supongo que sera una tonteria pero no acabo de dar con ello.

Mi intencion es definir un procedimiento que pueda se llamado desde varios forms y que tiene un unico parametro que es un numero entero.

En uno de los forms lo defino:

procedure rellena (id : Integer);
Begin
case idCPU of
1:
Begin
(...)
End;
( y etc.)

la cuestion es que no se ni donde ni como declarar este procedimiento para poder ser usado desde otros forms.

Estoy intentando poner en la seccion public

procedure Rellena(id : Integer);

pero me da este error

[Error] automata.pas(117): Unsatisfied forward or external declaration: \'TfrmPrincipal.RellenaCPU\'

Muchas gracias por cualquiera de vuestros consejos y lamento estar tan perdido...

RAUL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:definir procedure externo (soy principiante)

Publicado por Miguel Angel Mora (5 intervenciones) el 03/04/2001 15:11:13
Hola. Tienes un error de concepto. El procedimiento lo debes declarar en la sección public pero a la hora de implementarlo debes poner además del nombre del procedimiento el nombre del formulario al que peternece. En tu caso debe ser:

Procedure TfrmPrincipal.Rellena(id : Integer);
begin
end;

espero te quede claro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:definir procedure externo (soy principiante)

Publicado por raul (16 intervenciones) el 03/04/2001 20:34:47
OK, muchas muchas gracias, Si, era un error de concepto.
un saludo.

RAUL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:definir procedure externo (soy principiante)

Publicado por qdevelop2000 (26 intervenciones) el 07/04/2001 15:48:25
De esa manera que te han dicho estás creando un método en la propia clase con lo que para cada form deberás repetir el sistema.
Mejor haz lo siguiente:

Crea una unit de librerías, p.e, ExtLib.pas:

*********************
unit ExtLib;

interface

uses
.... <las que necesites, en principo ninguna>

procedure Rellena(Id:Integer);

implementation

procedure Rellena(Id:Integer);
begin
<..el código..>
end;

end.
******************************

Ahora, en cualquier parte donde desees utilizar este método/procedimiento sólo debes de poner ExtLib en el uses, y ya puede usarlo.
NOTA: No hace falta que añadas ExtLib.pas al proyecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar