StartThread NO es estable usando FiveWin

User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: StartThread NO es estable usando FiveWin

Post by albeiroval »

cristobal,

tu ejemplo tambien da error.

En esta imagen no le habia puesto la ruta del archivo gif y daba un gpf.

https://i.postimg.cc/8CQ9YZ3K/Screenshot_1.png


En esta imagen ya tiene la ruta del archivo gif pero se queda congelada la aplicacion

https://i.postimg.cc/rwDHhBp2/Screenshot_2.png
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: StartThread NO es estable usando FiveWin

Post by cnavarro »

Pues no, te lo aseguro, no da error, mira a ver donde tienes el problema
Puedes ejecutarlo las veces que quieras ( se saldrá del panel claro )
Doy por hecho que estás utilizando las librerias adecuadas tanto de harbour como de Borland para el uso de multithread

Image
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: StartThread NO es estable usando FiveWin

Post by albeiroval »

cristobal,

si estoy usando hbvmmt.lib de harbour y cw32mt.lib de borland, si puedes te doy acceso
a mi equipo para que veamos el error que da
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: StartThread NO es estable usando FiveWin

Post by albeiroval »

ahora que reinicie el equipo volvi a compilar el ejemplo y no da error,
pero algo extraño es que despues que lo cierro y abro varias veces salta el gpf.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: StartThread NO es estable usando FiveWin

Post by cnavarro »

Si te refieres al ejemplo que he puesto, lo probé más de 20 veces, incluso interrumpiendo su ejecución mientras ejecutaba un thread, y ningún problema
Qué equipo utilizas?
No hay problema, ponte en contacto en mi mail
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: StartThread NO es estable usando FiveWin

Post by hmpaquito »

Sólo por documentar lo que dije. Me refería a este post http://www.fivetechsupport.com/forums/v ... 072#p78459
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: StartThread NO es estable usando FiveWin

Post by cnavarro »

hmpaquito wrote:Sólo por documentar lo que dije. Me refería a este post http://www.fivetechsupport.com/forums/v ... 072#p78459
Como he mencionado, yo no lo he podido probar en muchos escenarios, pero creo que desde la fecha de ese post algo se habrá avanzado, por lo menos Harbour
Qué versión usas tú?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: StartThread NO es estable usando FiveWin

Post by albeiroval »

cristobal,

hize _ a tu codigo, agregue un mutex y ahora corre bien, ya no presenta el error.
lo pongo a continuacion.

Code: Select all


//----------------------------------------------------------------------------//
// Programa: TESTMT01.PRG
// Autor...: Cristobal Navarro
//----------------------------------------------------------------------------//

#include "Fivewin.ch"
#include "hbthread.ch"
#include "gif.ch"

Static oPnel1
Static pMutex  // Adicion

Function Main()

   local oWnd
   local oBar
   local oBtt1
   local oBtt2
   local uTh1
   local uTh2
   local uTh3
   local nPress  := 0

    DEFINE DIALOG oWnd FROM 0, 0 TO 660, 1100 TITLE "Test" PIXEL //MDI

      DEFINE BUTTONBAR oBar SIZE 48, 48 OF oWnd 2015
      DEFINE BUTTON oBtt1 PROMPT "Salir" OF oBar ACTION oWnd:End() TOOLTIP "Salir" 
      DEFINE BUTTON oBtt2 PROMPT "Test"  OF oBar ;
         ACTION ( nPress++, ;
                  pMutex := hb_mutexCreate(),; // Adicion
                  uTh1 := hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @WTest(), "Hello", 120, nPress ),;
                  uTh2 := hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @WTest(), 333, 120, nPress ),;
                  MsgWait( "Process", "Modal", 5  )) 
   
   ACTIVATE DIALOG oWnd ;
      ON INIT ( HazPnel( oWnd ), CrearGif( oWnd ) ) ;
      VALID ( hb_threadTerminateAll(), .T. )
//                  uTh3 := hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @CrearGif(), oWnd ),;
Return NIL 

//----------------------------------------------------------------------------//

Function WTest( u, nF, nPress )

   local x := 1
   if Valtype( u ) = "N"
      For x = 1 to 300 step 15
         hb_mutexLock( pMutex )      // Adicion
         @ nF + x, 60 + ( ( nPress - 1 ) * 110 ) SAY "Thread " + StrZero( nPress + 1, 2 ) ;
            OF oPnel1 PIXEL COLOR CLR_BLACK 
         hb_mutexUnLock( pMutex )    // Adicion
         SysRefresh()
         hb_idleSleep( 0.8 )
      Next x
   else
      For x = 1 to 300 step 15
         hb_mutexLock( pMutex )   // Adicion
         @ nF + x, 4 + ( ( nPress - 1 ) * 110 ) SAY "Thread " + StrZero( nPress, 2 ) ;
            OF oPnel1 PIXEL COLOR CLR_RED
         hb_mutexUnLock( pMutex )   // Adicion
         SysRefresh()
         hb_idleSleep( 0.8 )
      Next x
   endif

Return nil

//----------------------------------------------------------------------------//

Function HazPnel( oWnd )

   @ 50, 400 PANEL oPnel1 OF oWnd SIZE 600, 550
   oPnel1:SetColor( CLR_BLACK, CLR_YELLOW )
   
Return oPnel1

//----------------------------------------------------------------------------//

Function CrearGif( oDlg )
   
   local oGif
   @ 60, 10 GIF oGif FILE "d:\fwh\gifs\matrix.gif" OF oDlg SIZE 100, 100 //ADJUST //

Return nil

 
Gracias por el ejemplo, lo voy a implementar en mi proyecto y te comento
como me fue.
Last edited by albeiroval on Mon Oct 08, 2018 10:32 pm, edited 1 time in total.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: StartThread NO es estable usando FiveWin

Post by cnavarro »

Bien, muy bien, esa puede ser la "guinda" del pastel en _, pero como te digo en mi equipo no presenta ningún problema sin mutex, es más, cuando he incluído el mutex es cuando consigo que el programa se quede colgado, por eso no los implementé. Es muy antiguo tu equipo?
Ya nos contarás cuando lo implementes en tu programa
Last edited by cnavarro on Mon Oct 08, 2018 10:47 pm, edited 1 time in total.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: StartThread NO es estable usando FiveWin

Post by albeiroval »

ya hize _ en el programa, en mi equipo va bien, mañana lo probare en el equipo del cliente a ver como se comporta.
mi equipo tiene una tarjeta intel, con procesador i5 de 3ra generacion, uso windows 10 64 bits
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
Post Reply