Hola Rafael,
creo que no es la manera �ptima de hacerlo.
El OnClick viene desde dentro de la clase TButton y tendr�as que derivar (heredar) o reimplementar la clase, un bot�n completo... para que? Para pasarle como par�metros a un evento 2 edits que NO pertenecen al bot�n. Entonces, como puede "saber" la clase el nombre de los edits? El bot�n es un objeto, los edits son otros objetos, a menos que est�s creando un control nuevo, no lo recomiendo.
Si tu intenci�n es crear un "modulo" que contenga 2 edits y un bot�n, y "pegar" varias veces el mismo m�dulo en un mismo formulario, te recomiendo utilizar Frames.
http://wiki.freepascal.org/Frames
Dentro del frame puedes crear un evento Presionado(TEdit, TEdit) y desde el OnClick *interno del frame* lo invocas pasando referencias a los componentes *internos*.
En tu c�digo del Form, en "OnPresionado" tendr�s las referencias a los componentes para trabajar sobre ellos.
Tengo implementado algo similar pero en vez de pasar las referencias de los TEdit paso solo el texto que contienen, es menos engorroso para escribir y mantener.
Suerte con eso!
Rafael Bidegain wrote 80 lines
Hola a todos.
necesito agregar dos par�metros al evento onClick de un TButton,
el error que obtengo es el siguiente:
Error:Incompatibles types: got "<procedure variable type of
procedure(Tobject, Tedit, Tedit) of object;Register>" expected "<procedure
variable type of procedure(TObject) of object;Register>"
este es mi c�digo.
TForm1 = class(TForm)
panel1 : TPanel;
edit1, edit2 : Tedit;
boton1 : Tbutton;
Button1: TButton;
procedure Boton1Click(Sender: TObject; uno, dos : TEdit);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Boton1Click(Sender: TObject; uno, dos : TEdit);
var
tmp : string;
begin
tmp := uno.Text;
uno.text := dos.text;
dos.text := tmp;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
panel1 := Tpanel.Create(Self);
panel1.parent := form1;
..
edit1 := TEdit.Create(Self);
edit1.parent := panel1;
..
edit2 := TEdit.Create(Self);
edit2.parent := panel1;
..
boton1 := TButton.Create(Self);
boton1.parent := panel1;
boton1.OnClick := @Boton1Click(Sender, edit1, edit2);
..
end;
--
Rafael Bidegain
Ya que los cuerdos no hablan, hablar� el loco.
(The Fool, Padraic Pearse)
# yo quiero educaci�n libre. �YA!
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es