Ver Mensaje Individual
  #5  
Antiguo 23-08-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por mlara Ver Mensaje
Ahora requiero declarar una función en el código de una forma (TForm), y luego, al ejecutar esa función, dependiendo de cierto parámetro, quiero que se ejecute un código diferente reasignando el código de la función, así:
En Delphi puedes tener referencia tanto a Métodos como a procedimientos regulares sin ningún problema, solo tienes que tener en cuenta que la lista de argumentos y el resultado de las funciones debe coincidir con el tipo especificado, sino se volcarán datos inválidos en los esperados.

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TRegularProcedure = procedure;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Hola(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Chau;
begin
  ShowMessage('Chau!');
end;


{ TForm1 }

procedure TForm1.Hola(Sender: TObject);
begin
  ShowMessage('Hola');
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  AMetodo: TNotifyEvent;
  AProcedimiento: TRegularProcedure;
begin
  AMetodo := Hola;
  AMetodo(nil);

  AProcedimiento := Chau;
  AProcedimiento;
end;

end.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita