Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Ahora si el frame se cargara en ejecución, lo haría justamente despues de haber insertado el Frame en el formulario.
Casi mejor modificar el constructor del Frame, así no tienes ni que llamarlo.

Código Delphi [-]
public
   constructor create(AOWner:TComponent);override;


implementation

constructor TFrame.create(AOWner:TComponent);
begin
   inherited;
   Tu_función_a_ejecutar;
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 18-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
Casi mejor modificar el constructor del Frame, así no tienes ni que llamarlo.
Sería muchísimo mejor pero no me esta funcionando, entiendo lo sobrescribir el constructor, puse el codigo tal cual lo pones arriba y en la creación e inserción del Frame lo hago de esta forma.

Código Delphi [-]
 Frame : TFrame2;

begin
 Frame := TFrame2.Create(Self);
 InsertControl(Frame);

pero no me muestra el Frame en el formulario, si lo hago sin sobreescribir el constructor lo muestra.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 18-11-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 22
droguerman Va por buen camino
debes forzar la entrada al control usando SetFocus, así puedes controlar el evento OnEnter

Otra solución puede ser creando un derivado de TFrame y creando una función que maneje el mensaje CM_VISIBLECHANGED, con un poco de código lo tienes resuelto.
__________________
self.free;
Responder Con Cita
  #4  
Antiguo 19-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
En ese caso concreto no vale mi respuesta, ¡tenías que poner la excepción que cumple la regla!

La función a ejecutar debe estar definida dentro del Frame. InsertControl (en este caso concreto) pertenece a la ventana donde será insertada el frame. Tu código es equivalente a :
Código Delphi [-]
Form1.InsertControl(Frame)

que podría ejecutarse así:
Código Delphi [-]
constructor TFrame.create(AOWner:TComponent);
begin
   inherited;
   self.Parent := AOWner;
end;
Cita:
Empezado por Ayuda de InsertControl
Applications should not need to call InsertControl directly. Child controls are automatically inserted and removed when added or deleted at design time. At runtime, use the Parent property of the child control to insert it in the Controls array. I
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 19-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A mi me gustaría ver cuál es la operación que usa Caro en el constructor. Según yo entendí, no es que ahí use InsertControl, sinio que ésta es la forma en que inserta el marco.

Yo hice una pequeña prueba redefiniendo el constructor del marco y no tuve ningún problema; se visualiza correctamente, tanto usando InsertControl como asignando el Parent.

// Saludos
Responder Con Cita
  #6  
Antiguo 19-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Holitas Roman y Lepe, les adjunto la pruebita que hice, con el parent si funciona, me muestra el Frame, pero con InsertControl no, he probado con InsertControl, self.InsertControl, Form1.InserttControl y nada, no muestra el Frame, tengo una pregunta mas, me he creado dos instancias de TFrame3, pero cuando se crea una y al crear la otra me sale "A component named Frame3 already exists", ¿no se puede crear mas instancias de un Frame?.

Saluditos
Archivos Adjuntos
Tipo de Archivo: zip Frames.zip (5,6 KB, 19 visitas)
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 19-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
échale una visual al calendario con frames, es el mismo frame creado 30 veces.

Básicamente, antes de asignar el Parent, debes darle un nombre único en todo ese Form. Puedes usar un contador en esa ventana que se va incrementando:
Código Delphi [-]
Frame2 := Tframe2.Create(self);
Frame2.Name := 'Frame'+ inttostr(contador);
inc(contador); // variable global en este Form
Frame2.setBounds(0, 0, 100,100);

 // ahora que ya tiene un nombre único, lo añadimos al padre.
Frame2.Parent := self;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 19-11-2008 a las 14:30:17. Razón: completar con código
Responder Con Cita
  #8  
Antiguo 19-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Yo me echo a temblar cada vez que leo eso de "Applications should not need to call xxx directly", sobre todo cuando he usado ese xxx desde hace mucho .

Ya me ha pasado "cosas raras" como las que comenta Caro.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 19-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y sí, claro. Si la documentación lo dice, por algo será . Pero como dice Caro, ya es más que nada por curiosidad.

// Saludos
Responder Con Cita
  #10  
Antiguo 21-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Perdon por responder recien, como les dije no hay problema, con el Parent ya es suficiente, muchas gracias amiguitos.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #11  
Antiguo 21-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Y sí, claro. Si la documentación lo dice, por algo será . Pero como dice Caro, ya es más que nada por curiosidad.

// Saludos
Ah, creí que yo era el único "curiosón" en este foro, que alegría ver que no estoy solo

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿existe un Extract Week? o algo similar amadis SQL 2 05-02-2007 14:19:32
Existe algo similar al DBRadioGroup pero con CheckBox ??? arieliten Varios 1 18-03-2005 22:24:33
dudas evento OnActivate triniti OOP 6 26-08-2004 19:57:41
existe algo similar a TFileListBox para Http? miguel_fr Internet 1 14-04-2004 06:15:35
El evento OnActivate esquerda21 Varios 8 18-06-2003 18:03:35


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


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