Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2019
Avatar de Maniches
Maniches Maniches is offline
Miembro
 
Registrado: nov 2012
Ubicación: Lima - Perú
Posts: 67
Poder: 12
Maniches Va por buen camino
Lightbulb Actualizar valor de TProgressBar

Amigos del Foro,
Acudo a su ayuda al siguiente problema:
Tengo un formulario principal que contiene un componente (TProgressBar) en este formulario se ha realizado la lógica para que este controle en base a un timer la duración de inactividad del formulario. cuando se utiliza de forma directa este formulario todo trabaja bien y el componente muestra el efecto de la barra progresiva.
El problema me esta generando cuando es cuando yo estoy creando un nuevo formulario que hereda del formulario principal anteriormente indicado, lo que esta ocurriendo que en el nuevo formulario no me esta mostrando el efecto del componente TProgressBar. He revisado el evento que controla la propiedad Position y si esta incrementando. Lo que no esta es mostrando el efecto de la barra del progressbar.
Ambos formularios se están creando y el segundo que hereda del principal este se muestra(SHOWMODAL).

Me ayudan a poder resolver que puede estar pasando? hay que hacer algo en el segundo formulario para que herede o refresque los efectos del formulario principal?
Muchas gracias por toda su ayuda.
__________________
Maniches
maniches@outlook.com
Responder Con Cita
  #2  
Antiguo 24-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se te olvidó el código
Responder Con Cita
  #3  
Antiguo 25-07-2019
Avatar de Maniches
Maniches Maniches is offline
Miembro
 
Registrado: nov 2012
Ubicación: Lima - Perú
Posts: 67
Poder: 12
Maniches Va por buen camino
No quise publicar el código por que es comun encontrarlo en internet. igual lo comparto:

Código de Formulario Principal:

Código Delphi [-]
    sbMainTransaction: TStatusBar;
    pbMain: TProgressBar;
    tmrMain: TTimer;
    .
procedure TForm.FormCreate(Sender: TObject);
begin
  sbMainTransaction.Panels[6].Style := psOwnerDraw;
  pbMain.Parent := sbMainTransaction;
  pbMain.Position:= 0;
  pbMain.Max:= 20000;
end;

procedure TForm.sbMainTransactionDrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  if Panel = StatusBar.Panels[6] then
  with pbMain do begin
    Top := Rect.Top;
    Left := Rect.Left;
    Width := Rect.Right - Rect.Left - 15;
    Height := Rect.Bottom - Rect.Top;
  end;
end;

procedure TForm.tmrMainTimer(Sender: TObject);
var
 vIdleTime : Cardinal;
begin
     vIdleTime := GetTickCount - TimerInicio;
     pbMain.Position:= pbMain.Position + 1;
     lblSeq.Caption:= IntToStr(pbMain.Position);
     if(vIdleTime >= 20000) then
     begin
       ShowMessage('Tiempo límite');
       Application.Terminate;
     end;
end;

procedure TForm.FormShow(Sender: TObject);
begin
  tmrMain.Enabled := True;
end;

Formulario Nuevo (Hereda de Form. Principal)

Código Delphi [-]
procedure TFormNew.FormShow(Sender: TObject);
begin
    inherited;
end;

PUSE UNA ETIQUETA (lblSeq) PARA VERIFICAR SI ESTA INCREMENTANDO LA POSICIÓN DEL PROGRESS Y SU ESTA INCREMENTANDO. LO QUE NO SE ESTA VISUALIZANDO EN EL FORMULARIO QUE HEREDA ES EL EFECTO DEL PROGRESS QUE PINTE LA BARRA EN BASE AL INCREMENTO.

QUE PODRÍA ESTAR FALTANDO?
__________________
Maniches
maniches@outlook.com
Responder Con Cita
  #4  
Antiguo 25-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Maniches Ver Mensaje
PUSE UNA ETIQUETA (lblSeq) PARA VERIFICAR SI ESTA INCREMENTANDO LA POSICIÓN DEL PROGRESS Y SU ESTA INCREMENTANDO. LO QUE NO SE ESTA VISUALIZANDO EN EL FORMULARIO QUE HEREDA ES EL EFECTO DEL PROGRESS QUE PINTE LA BARRA EN BASE AL INCREMENTO.
QUE PODRÍA ESTAR FALTANDO?
No grites, no estamos sordos


Lo solucionarás con:
Código Delphi [-]
pbMain.Position:= pbMain.Position + 1;
lblSeq.Caption:= IntToStr(pbMain.Position);
Application.ProcessMessages;  //  <---

De todas formas, un postgresbar no funciona así, sino así:
Código Delphi [-]
pbmain.StepIt;
lblSeq.Caption:= IntToStr(pbMain.Position);
Application.ProcessMessages;  //  <---

Última edición por Casimiro Notevi fecha: 25-07-2019 a las 12:07:27.
Responder Con Cita
  #5  
Antiguo 01-08-2019
Avatar de Maniches
Maniches Maniches is offline
Miembro
 
Registrado: nov 2012
Ubicación: Lima - Perú
Posts: 67
Poder: 12
Maniches Va por buen camino
Thumbs up

Amigo Casimiro,
Muchas gracias por tu ayuda. hice el cambio que me sugeriste y si me funciono.

agregar que no es necesario agregar la linea: Application.ProcessMessages;
al menos en mi caso no es necesario.

Saludos.
__________________
Maniches
maniches@outlook.com
Responder Con Cita
  #6  
Antiguo 01-08-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No es necesario si se usa correctamente (.StepIt)
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
Actualizar un campo vacio con el valor de otro jafera Firebird e Interbase 4 03-07-2013 20:34:19
Seleccionar primer registro en la Clausula WHERE para Actualizar Valor. Adrian Murua MySQL 3 28-05-2012 23:52:14
DBGrid - Actualizar valor de la tabla detalle. juliannemiro Varios 12 10-02-2012 05:04:54
Actualizar un valor en un generador desde un Sp muli Firebird e Interbase 16 11-06-2008 15:56:05
Problema al Actualizar Valor Double caramelillo MySQL 4 19-10-2006 00:36:38


La franja horaria es GMT +2. Ahora son las 00:44:37.


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