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 20-07-2021
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Question Misterio. TTimer se activan solos?

Hola colegas,

he descubierto algo en un proyecto que es un misterio. LOS TTimer se activan solos?

Tengo una aplicacion win32, DB Firebird , conexion firedac.

en la misma, tengo un TIMER, cada 500 ms (enabled on designtime). (este timer muestra en la statusbar, la fehca/hora y el estado de NUM LOCK Y CAPS LOCK)

Ahora he necesitado agregar un timer 3000 ms (disabled desigtime). Luego de que la aplicacion realiza varios procesos en el evento ON SHOW, activo el NUEVOTIMER pasandole true a la propiedad enabled, (este conecta a una BD MySql Remota).
En teoría, una vez terminado el inicio del programa, esteparia 3 segundos, y comenzaria el NUEVOTIMER (cuya primer linea es enabled false).

Resulta que he descubierto que este NUEVOTIMER, y cualquier otro que exista, estando desactivados en tiempo de diseño, INICIAL ENABLED al ejecutar el programa.

la pregunta es si alguien conoce si existe alguna propiedad del IDE o del proyecto que sea por ej AUTO ENABLE TIMERS? o algo similar?

He creado un nuevo proyecto vació varios timer apagados, y estos se quedan apagados hasta que los encienda.

¿que podrá ser que me encienda todos los Timer?
Responder Con Cita
  #2  
Antiguo 20-07-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Revísalo con cuidado, eso no puede ocurrir.
Responder Con Cita
  #3  
Antiguo 20-07-2021
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
se puede de alguna forma dentro del ON TIMER, saber ¿que proceso le dio el ENABLED?

Los timer son creador en tiempo de diseño, y salvo el de la hora que esta siempre enabled que siempre los demas se activan en ejecucion.
Responder Con Cita
  #4  
Antiguo 20-07-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que lo más simple es hacer una simple búsqueda ctrl-f y buscar timer2 (o como se llame) y mirar dónde lo pones enabled o active=true
Responder Con Cita
  #5  
Antiguo 21-07-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo en estos casos, cambio el nombre al componente y recompilo, para que vayan saliendo todas líneas donde se usa.
Cuidado con los with que a veces juegan malas pasadas.
Incluso alguna vez un IF...THEN (sin begin) ha ejecutado menos líneas de las esperadas y me ha dado alguna sorpresa.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 22-07-2021
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Yo en estos casos, cambio el nombre al componente y recompilo, para que vayan saliendo todas líneas donde se usa.
Cuidado con los with que a veces juegan malas pasadas.
Incluso alguna vez un IF...THEN (sin begin) ha ejecutado menos líneas de las esperadas y me ha dado alguna sorpresa.
Antes de postear hice lo que comentaba Casimiro, y tambien renombré, y solo hay una llamada al enabled true, que es la correcta.

Luego descubrí que todos los timer que ponga se activan solos, por lo que veo en el ON CREATE, del proyecto, o al menos eso sospecho al ver unos SHOWMESSAGE(''); que les puse a los timer para rastrear.
Responder Con Cita
  #7  
Antiguo 21-07-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola amadis.

Sí es posible saber quien activa el timer.

Debes colocar un punto de parada en el procedimiento TTimer.SetEnabled de la unidad Vcl.ExtCtrls. Al detenerse, en la ventana CallStack te muestra que evento hizo el llamado de la propiedad Enabled.

__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #8  
Antiguo 22-07-2021
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
Hola amadis.

Sí es posible saber quien activa el timer.

Debes colocar un punto de parada en el procedimiento TTimer.SetEnabled de la unidad Vcl.ExtCtrls. Al detenerse, en la ventana CallStack te muestra que evento hizo el llamado de la propiedad Enabled.

Me paré en la linea del If value del SetEnabled, le puse F5, marque punto de parada.

Y luego F9, pero no para nada, se ejecuta normalmente.

Y la sentencia que pones en el boton5 no me hace ningun efecto.
Responder Con Cita
  #9  
Antiguo 02-08-2021
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola a todos. Sí, de nuevo visitando los foros.

Subscribo lo dicho por Germán, y celebro la propuesta de usar el depurador de Miguel.

Cita:
Empezado por amadis Ver Mensaje
Me paré en la linea del If value del SetEnabled, le puse F5, marque punto de parada.

Y luego F9, pero no para nada, se ejecuta normalmente.
Esto seguramente es porque al compilar faltó recoger información de depuración. Asegúrate de generar el ejecutable con la opción "Use debug DCUs", eso te permitirá poner puntos de ruptura en el código fuente de las unidades nativas de la VCL.

Cita:
Empezado por amadis Ver Mensaje
Creo que lo mejor es ir omitiendo las clases deseadas
Yo te aconsejaría ir agregando las clases deseadas. Bajo la lógica de que es mejor que falte algo bueno y corregir, a que sobre algo malo, reparar daños y corregir. En la VCL, TControl (padre de TWinControl) es la clase base de todos los componentes visuales. Digamos que puedes ir agregando diferentes "ramas" que consideres completamente seguras, empezando con TControl si estás seguro de que todos y cada uno de los componentes visuales con propiedad Enabled deben entrar en el comportamiento que deseas.

Dos cosas más:
  • Siempre que puedas utiliza ClassType, InheritsFrom o el operador Is en lugar de ClassName; es más eficiente porque no comparas contra una cadena de caracteres.
  • Evita usar With, fuente potencial de muchos problemas.

Un abrazo por el interminable y magnífico Delphi.

Al González.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Evitar programas que revelan passwords y activan botones. rhino0nt API de Windows 3 07-06-2010 11:37:07
Al abrir proyecto, hay forms que se crean solos defcon1_es Varios 12 20-11-2009 12:40:17
Numeros Float...cambian solos BlueSteel Varios 1 05-07-2007 22:43:58
no se activan iconos del toolbox en webforms aspx JuanErasmo .NET 0 11-01-2007 22:17:02
Cuando Activan la Pagina de Cadetill???? AGAG4 Varios 2 26-11-2004 21:23:51


La franja horaria es GMT +2. Ahora son las 22:55:42.


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