FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con ON PAINT y GAUGE
Posts: 62
Joined: Tue Jul 08, 2008 04:27 PM
Problemas con ON PAINT y GAUGE
Posted: Mon Jul 19, 2010 10:37 PM

Desde hace tiempo tengo un problema con la clausula ON PAINT, cuando necesito que un proceso sea mostrado con una barra de progreso la cual no debe ser ejecutada por el usuario si no al ejecutar la acci贸n se genere automaticamente. Esto sale bien siempre y cuando no se mueva ninguna ventana ya que cuando pierde el foco y lo recupera el proceso se realiza nuevamente... y en ciertas ocaciones me proboca una caida del sistema... Existe alguna forma de no usar ON PAINT???... No se si me entienden???... ojala puedan ayudarme... :D

Mario Valenzuela M.

Santiago, Chile.
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Problemas con ON PAINT y GAUGE
Posted: Tue Jul 20, 2010 02:23 PM

El evento ON PAINT dispara los procesos cada vez que se pinta el objeto, e decir al moverlo, minimizarlo, maximisarlo, darle foco, etc.

Si el evento debe ejecutarse al abrirse la ventana lo ideal es usar ON INIT.

Espero que esto te sirva :)

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 62
Joined: Tue Jul 08, 2008 04:27 PM
Re: Problemas con ON PAINT y GAUGE
Posted: Tue Jul 20, 2010 02:57 PM
Gracias por la ayuda, pero ya recorde como lo hice en una ocacion... gracias de todas maneras y a continuacion la solucion de mi problema para las estadisticas por si alguien pasa por lo mismo... :-)



    Antes...

    DEFINE DIALOG oDlg RESOURCE "DIALOG_INGMOD_PROCESO" FONT oFont TITLE "Recuperando Informaci贸n de Precios por Local"

    REDEFINE GAUGE oBar VAR nVar ID 101 OF oDlg COLOR CLR_WHITE, CLR_BLACK BARCOLOR CLR_WXP, CLR_BLACK ALTERNATE
    REDEFINE SAY oTxt ID 102 OF oDlg COLOR CLR_HRED UPDATE

    ACTIVATE DIALOG oDlg CENTERED ON PAINT ( Proceso( oBar, oTxt ), oDlg:End() )

    Despues...

    DEFINE DIALOG oDlg RESOURCE "DIALOG_INGMOD_PROCESO" FONT oFont TITLE "Recuperando Informaci贸n de Precios por Local"

    REDEFINE GAUGE oBar VAR nVar ID 101 OF oDlg COLOR CLR_WHITE, CLR_BLACK BARCOLOR CLR_WXP, CLR_BLACK ALTERNATE
    REDEFINE SAY oTxt ID 102 OF oDlg COLOR CLR_HRED UPDATE

    ACTIVATE DIALOG oDlg CENTERED NOWAIT

    While !Eof()
    .
    .
    .
    End While

    Return (Nil)

    [/list:u]
Mario Valenzuela M.

Santiago, Chile.
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Problemas con ON PAINT y GAUGE
Posted: Wed Jul 21, 2010 02:36 PM
Hola, hazlo asi:
...
..
.
Code (fw): Select all Collapse
lFlag := .t.
DEFINE DIALOG oDlg ......
<<<acciones>>>
ACTIVATE DIALOG oDlg ON PAINT (If(lFlag, (lFlag := .f., HazAlgoAqui()), Nil)

Continue the discussion