In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Multihilo con hbvm o hbvmmt
Multihilo con hbvm o hbvmmt
Estoy utilizando hb_ThreadStart y tengo la duda si debo utilizar hbvm o hbvmmt.
Ya que con hbvmmt se me dan errores aleatorios.
Ya que con hbvmmt se me dan errores aleatorios.
- ignacio
- Site Admin
- Mensajes: 9259
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Multihilo con hbvm o hbvmmt
Buenos días,
Tiene que usar la versión mt. Échele un vistazo a este artículo:
http://www.xailer.com/dokuwiki/doku.php ... .en.xailer
Tiene que usar la versión mt. Échele un vistazo a este artículo:
http://www.xailer.com/dokuwiki/doku.php ... .en.xailer
Re: Multihilo con hbvm o hbvmmt
Ok, gracias Ignacio, creo que es el mismo que está en la ayuda, pero lo vuelvo a leer con más detenimiento.
Ya me inscribí a los cursos, estoy en espera de las instrucciones.
Ya me inscribí a los cursos, estoy en espera de las instrucciones.
Re: Multihilo con hbvm o hbvmmt
Los errores aleatorios que se producen con la MT parece que tiene que ver con el uso de la clase tFolderPage y así está ya descrito en este foro.
Salu2.
Salu2.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
Re: Multihilo con hbvm o hbvmmt
Gracias por contestar Bingen, es lo que había leído, pero no vi la solución, más que cambiar a tTabCtrl, pero ya estoy muy adelantado en la programación como para cambiarlo en este momento, por eso intenté utilizar hb_ThreadStart de Harbour y no el Xailer, la pregunta era si también para esta función (hb_ThreadStart) necesitaba la librería hbvmmt o la hbvm me serviría.
Re: Multihilo con hbvm o hbvmmt
Hola a todos,
ya hemos localizado y corregido el problema de los TFolder con MT.
Si alguien está interesado en probarlo, por favor, que me envie un email.
ya hemos localizado y corregido el problema de los TFolder con MT.
Si alguien está interesado en probarlo, por favor, que me envie un email.
Re: Multihilo con hbvm o hbvmmt
Excelente!!
Muchas gracias!
Me interesa probarlo, ya te envié un mensaje personal.
Muchas gracias!
Me interesa probarlo, ya te envié un mensaje personal.
Re: Multihilo con hbvm o hbvmmt
Esperando instrucciones master......
De hecho tengo el código que petaba la app con un GPF comentado a la espera de esta solución.
Gracias.
Email personal enviado....
De hecho tengo el código que petaba la app con un GPF comentado a la espera de esta solución.
Gracias.
Email personal enviado....
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
Re: Multihilo con hbvm o hbvmmt
Ya os he enviado el módulo corregido a los dos. Por favor, probadlo y decidnos si ya funciona bien.
Re: Multihilo con hbvm o hbvmmt
Gracias José despues de la paliza que te he dado :oops: por fin esto funciona de maravilla
Ya he implementado un segundo hilo para hacer las copias de seguridad de cada base de datos al entrar la primera vez cada día, antes paraba la app 20 seg o 2 minutos, dependiendo de la app ahora la entrada es instantánea y hace la coia mientras el usuario empieza a trabajar, si ya se que si hace cosas antes de que termine la copia van también a la copia pero en este caso no importa.
Ya tengo pensados hilos para el envio masivo de emails, sms, chequeos de estructuras de la base de datos, etc. que ahora bloquena la app en algunos casos incluso durante horas.
//Lanzar el segundo hilo para el backup de la BBDD
Appdata:AddData("oThreadCopias",TThread():Create( Application:oMainForm ))
Appdata:oThreadCopias:Run( @BackupMultihilo() )
Appdata:oThreadCopias:OnNotify := {| oSender, nValue, cStatusMsg | TMySqlEmpresas():IndicarCambio(cStatusMsg,.f.) }
//Backup automático de las bases de datos en segundo plano
Function BackupMultihilo()
ProcessMessages()
If !AppData:lFirstTime .And. Appdata:lAutoBackup .And. !File(Appdata:cAppPath+"DailyBackup\"+DTOS(DATE())+IF(Appdata:lMultiSqlDb,"-"+AppData:cSqlDBName,"")+"-"+"01.Zip")
ProcessMessages()
Appdata:oThreadCopias:Notify(.F.,,"[Creando copia de seguridad de la BBDD]")
ProcessMessages()
If tSqlStructure():DailyBackup(.F.)
Appdata:oThreadCopias:Notify(.F.,,"[Copia de seguridad Terminada]")
Endif
ProcessMessages(2000)
Appdata:oThreadCopias:Notify(.F.,,"")
Endif
RETURN Nil
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Ya he implementado un segundo hilo para hacer las copias de seguridad de cada base de datos al entrar la primera vez cada día, antes paraba la app 20 seg o 2 minutos, dependiendo de la app ahora la entrada es instantánea y hace la coia mientras el usuario empieza a trabajar, si ya se que si hace cosas antes de que termine la copia van también a la copia pero en este caso no importa.
Ya tengo pensados hilos para el envio masivo de emails, sms, chequeos de estructuras de la base de datos, etc. que ahora bloquena la app en algunos casos incluso durante horas.
//Lanzar el segundo hilo para el backup de la BBDD
Appdata:AddData("oThreadCopias",TThread():Create( Application:oMainForm ))
Appdata:oThreadCopias:Run( @BackupMultihilo() )
Appdata:oThreadCopias:OnNotify := {| oSender, nValue, cStatusMsg | TMySqlEmpresas():IndicarCambio(cStatusMsg,.f.) }
//Backup automático de las bases de datos en segundo plano
Function BackupMultihilo()
ProcessMessages()
If !AppData:lFirstTime .And. Appdata:lAutoBackup .And. !File(Appdata:cAppPath+"DailyBackup\"+DTOS(DATE())+IF(Appdata:lMultiSqlDb,"-"+AppData:cSqlDBName,"")+"-"+"01.Zip")
ProcessMessages()
Appdata:oThreadCopias:Notify(.F.,,"[Creando copia de seguridad de la BBDD]")
ProcessMessages()
If tSqlStructure():DailyBackup(.F.)
Appdata:oThreadCopias:Notify(.F.,,"[Copia de seguridad Terminada]")
Endif
ProcessMessages(2000)
Appdata:oThreadCopias:Notify(.F.,,"")
Endif
RETURN Nil
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es