Ver Mensaje Individual
  #3  
Antiguo 26-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En el caso que comenta Neftali, el parámetro es un método. También puedes pasar procedimientos regulares como parámetros a otro procedimiento pero tienes que declarar un tipo de datos para ello. Es decir, no puedes usar directamente la palabra reservada procedure en la declaración del parámetro.

Aquí un ejemplo:

Código Delphi [-]
type
  TProcDesconocido = procedure;

procedure HazAlgo(Proc: TProcDesconocido);
begin
  Proc;
end;

procedure Saluda;
begin
  ShowMessage('Hola');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  HazAlgo(Saluda);
end;

El tipo procedure puede también tener parámetros:

Código Delphi [-]
type
  TProcDesconocido = procedure (S: String);

procedure HazAlgo(Proc: TProcDesconocido);
begin
  Proc('mundo');
end;

procedure Saluda(S: String);
begin
  ShowMessage('Hola ' + S);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  HazAlgo(Saluda);
end;

// Saludos
Responder Con Cita