Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-12-2003
Anubys Anubys is offline
Miembro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 15
Poder: 0
Anubys Va por buen camino
Unhappy Re... .... corriendo los objetos

Hola que tal ... el tema de este hilo es facil.
Nesecito recorrer todos los objetos de un TForm, una vez que este se a creado. Para esto me hice una funcion 'Recorre(pantalla: Tform);' que lo hace. El problema se presenta en el cuando llamar a esta funcion, puesto que nesecito recorrer los elementos antes de que se pueda hacer cualquier otra cosa con ellos....

Suena sencillo, pero no encuentro el evento preciso....
Que opinan.
Responder Con Cita
  #2  
Antiguo 18-12-2003
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
Supongo que puedes usar el evento OnCreate. Este se lanza cuando las componentes del formulario ya están creadas pero antes de mostrarse de manera que no se puede interactuar con éstas.

// Saludos
Responder Con Cita
  #3  
Antiguo 18-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
La verdad que mucho no te entiendo... prueba sobreescribiendo el método Loaded.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 18-12-2003
Anubys Anubys is offline
Miembro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 15
Poder: 0
Anubys Va por buen camino
He probado el evento OnCreate y OnShow pero no me sirven, puesto que una de las cosas que hace la funcion, es cabiar el text de las etiquetas al encontrar una condicion dada en su objeto asociado, y estos eventos no me han dejado modificarlas.
Tambien probe con el OnActivate, pero no quiero que se recorran todos los objetos cada vez que me paro en la pantalla (por que más encima es Mdi), y con el OnPaint idem.
El metodo Loaded no lo he probado aun... aunque no se como me podria ayudar.
__________________
Nada es a prueba de estupidos, ...ellos son muy creativos.
Responder Con Cita
  #5  
Antiguo 18-12-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si te funciona con el evento OnActivate, no tienes más que poner una variable que haga de semáforo, para que solamente se ejecute una vez la función que recorre los objetos.

También puedes utilizar la propiedad Tag del formulario e incrementarla en 1 cada vez que se active de tal forma que la función se ejecutaría por ejemplo siempre que MiForm.Tag < 2.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 18-12-2003
Anubys Anubys is offline
Miembro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 15
Poder: 0
Anubys Va por buen camino
Si tienes razon con lo de los semaforos, eso puede funcionar...
Les estoy comunicando.
__________________
Nada es a prueba de estupidos, ...ellos son muy creativos.
Responder Con Cita
  #7  
Antiguo 18-12-2003
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
Cita:
Anubys comentó:
El metodo Loaded no lo he probado aun... aunque no se como me podria ayudar.
El método Loaded se llama una vez que las propiedades de las componentes ya han sido actualizadas de manera que los cambios que haga tu función ya deberán trabajar correctamente.

Para usarlo declara:

Código:
TForm1 = class(TForm)
protected
  procedure Loaded; override;
end;

implementation

procedure TForm1.Loaded;
begin
  inherited;

  { Aquí tu código }
end;
// Saludos
Responder Con Cita
  #8  
Antiguo 19-12-2003
Anubys Anubys is offline
Miembro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 15
Poder: 0
Anubys Va por buen camino
Smile

Gracias a todos los que aportaron en este tema.... la solucion gue bien simple y precisa ocupando semaforos...
__________________
Nada es a prueba de estupidos, ...ellos son muy creativos.

Última edición por Anubys fecha: 19-12-2003 a las 20:06:19.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 03:20:15.


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
Copyright 1996-2007 Club Delphi