PDA

Ver la Versión Completa : conversor a tcomponent


ferra99
06-02-2009, 11:15:39
hola a todos, estoy haciendo un boton llamado tmybutton que hereda de tbutton, pero al quererle cambiar el parent no me deja por no ser del mismo tipo y he oido que existe un conversor a tcomponent, sabeis como es?¿
Gracias
el codigo es este:
procedure TForm2.Button3Click(Sender: TObject);
var
i:integer;
bot:tmybutton;
begin
for i:=0 to form2.ComponentCount -1 do
begin
bot:=form2.components[i];
bot.Parent:=form3;
end;

Neftali [Germán.Estévez]
06-02-2009, 12:31:29
¿Puedes explicar exactamente qué quieres hacer?
¿Cambiarle el parent a los TButton para qué?

En el código que has pasado, por ejemlpo, intentas cambiar el parent, entre otros, al propio botón que has pulsado, a parte de que el owner sigue siendo el propio form (eso no creo que le siente bien al Delphi).

En ese código además estás cambiando el parent a todos los componentes, no sólo los TButton.

ferra99
06-02-2009, 12:34:39
Buenas, es un simple ejercicio de clase en el que al hacer click a un boton, cambiamos de ventana los botones a traves de parent, la propiedad owner se cambia a traves de otro boton:
procedure tform2.CanviarPropietari (Component, NewOwner : TComponent);
begin
Component.Owner.RemoveComponent (Component);
NewOwner.InsertComponent (Component);
end;

Neftali [Germán.Estévez]
06-02-2009, 12:51:32
Ok, entendido.
Además he de decir que también había leído una cosa mal en el enunciado y estaba pensando que era otra cosa.

Supongo que al error que te refieres es que te falta hacer el "CAST" al asignar valor a bot. Prueba con esto:


bot := TmyButton(form2.components[i]);

ferra99
06-02-2009, 13:40:42
pues.... FUNCIONO!!!! Muchas gracias:)