Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   conversor a tcomponent (https://www.clubdelphi.com/foros/showthread.php?t=63271)

ferra99 06-02-2009 11:15:39

conversor a tcomponent
 
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:
Código:

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:
Código:

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:

Código Delphi [-]
  bot := TmyButton(form2.components[i]);

ferra99 06-02-2009 13:40:42

pues.... FUNCIONO!!!! Muchas gracias:)


La franja horaria es GMT +2. Ahora son las 02:14:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi