Ver Mensaje Individual
  #2  
Antiguo 05-09-2005
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Reputación: 21
islu Va por buen camino
Si claro, te creas una función cuya forma sea igual a la que el evento requiera, y la asignas asi :

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Table1: TTable;
    Button1: TButton;
    procedure CalcField(DataSet: TDataSet);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CalcField(DataSet: TDataSet);
begin
    ShowMessage('ISLU');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    Table1.OnCalcFields := CalcField;
end;

end.

Para saber cual es la forma del procedimiento, es decir, que parametros toma, basta con que crees una por defecto con el diseñador de Delphi, y luego crees la tuya.

Puedes hacerlo con cualquier evento, bien sea de una tabla, de un botón ( OnCLick ), de cualquier elementio visual. Solo has de tener en cuenta los parámetros de entrada.

Una cosa, para saber si un evento ya esta asignado :

Código Delphi [-]
    if( not assigned( Table1.OnCalcFields ) ) then
       Table1.OnCalcFields := CalcField
    else
        ShowMessage( 'Ya asignado!!!');

Asi evitas macharacar algún evento, o si lo tienes que asignar o no.

Última edición por islu fecha: 05-09-2005 a las 19:20:28.
Responder Con Cita