Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Eventos que no reaccionen ante un Form no activo !!! (https://www.clubdelphi.com/foros/showthread.php?t=23574)

vpepen 21-07-2005 16:35:29

Eventos que no reaccionen ante un Form no activo !!!
 
Hola Foro....

Tengo una inquietud: ¿Es posible que los eventos programados en los controles que están en un Form no se activen a menos que el Form esté activo?

Esta inquietud viene a raíz de que tenía unos controles DBEdit en un Form y había programado el eventor OnChange y sucede que cada vez que se hacía cualquier desplazamiento por la tabla a la que apuntaban los DBEdits automáticamente se disparaba el evento. El problema es que en ese evento se hacía una actualización a otros campos de la tabla y cuando no estaba en dicho formulario me producía actualizaciones incorrecta.

Las gracias anticipadas,

Víctor.-

dec 21-07-2005 17:05:51

Hola,

Los formularios tienen una propiedad "Active" que tal vez podrías utilizar como "bandera". Es decir, los eventos se dispararían igualmente, pero, siempre podrías situar la condición:

Código Delphi [-]
  if not Active then Exit;
Antes de que en el evento en cuestión se llevara a cabo nada en absoluto.

Por ejemplo, este sería el evento "OnTimer" de un "TTimer" que tuviera que saludarme, como bien educado, cada tanto tiempo:

Código Delphi [-]
 procedure TForm1.Timer1Timer(Sender: TObject);
 begin
   if not Active then Exit;
   ShowMessage('Hola dec');
 end;
En este caso, siempre que el formulario esté activo (Active = true) recibiré un saludo (no tengo abuela) pero, si, por el contrario, el formulario no estuviera activo no recibiría ningún saludo. Qué le vamos a hacer.

vpepen 22-07-2005 14:02:04

Gracias Dec...

Esa opción la había tomado en cuenta, y de hecho es como resolví el problema, pero tengo esa duda con relación a que los eventos no se disparen si el form no está activo, ya que me imagino que eso le resta al rendimiento de la aplicación.

Las gracias anticipas...

Víctor.-


La franja horaria es GMT +2. Ahora son las 17:29:18.

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