FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TMySql Fwh 16.05 y 16.06
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
TMySql Fwh 16.05 y 16.06
Posted: Mon Aug 29, 2016 01:36 AM
Maestro Antonio

1. libmysql.dll en 32bits y 64bits se debe llamar as矛 hay que cambiar de nombre a libmysql64.dll por libmysql.dll para poder trabajar en 64bits existe alguna manera de trabajar con libmysql.dll y libmysql64.dll en la misma carpeta asi como se trabaja freeimage.dll y freeimage64.dll.

2. coloco un ejemplo sencillo donde cada vez que se revisa una procedimiento se incrementa la memoria, es como si no cerrara el oRcs coloco un ejemplo
cada vez que entra a CalCtaAntDH se incrementa la memoria.

Code (fw): Select all Collapse
聽 聽oRcs := oConexion:Query("Select * From MaesCont Order by NroAsi")
聽 聽 If oRcs==Nil
聽 聽 聽 聽 Return(.f.)
聽 聽 EndIf
聽 聽While !oRcs:Eof()

聽 聽 聽 聽 fNroAsi := oRcs:Fields("NROASI"):Value
聽 聽 聽 fFecAsi := oRcs:Fields("FECASI"):Value

聽 聽 聽 聽 fTotDeb := 0
聽 聽 聽 聽 fTotHab := 0 

聽 聽 聽 聽oRcsC := oConexion:Query("Select * From DetaCont Where NroAsi="+str(fNroAsi))
聽 聽 聽 聽 If oRcsC==Nil
聽 聽 聽 聽 聽 聽 Return(.f.)
聽 聽 聽 聽 EndIf
聽 聽 聽 聽 While !oRcsC:Eof()

聽 聽 聽 聽 聽 fCodCta := oRcsC:Fields("CODCTA"):Value
聽 聽聽 聽 fDebe 聽 := oRcsC:Fields("DEBE"):Value
聽 聽 聽 聽 fHaber 聽:= oRcsC:Fields("HABER"):Value

聽 聽 聽 聽 聽 聽 fTotDeb += fDebe
聽 聽 聽 聽 聽 聽 fTotHab += fHaber

聽 聽 聽 聽 聽 聽 CalCtaAntDH(fCodCta,fDebe,fHaber,"+")

聽 聽 聽 聽 聽 聽oRcsC:MoveNext()
聽 聽 聽 聽 EndDo

聽 聽 聽 聽 oRcs:Fields("TotDeb"):Value := fTotDeb
聽 聽 聽 聽 oRcs:Fields("TotHab"):Value := fTotHab

聽 聽 聽 聽 oRcs:Save()

聽 聽 聽 聽oRcs:MoveNext()
聽 聽 EndDo
//
Procedure CalCtaAntDH(fCodCta,fDebe,fHaber,fSumRes)

聽 聽 oRcsA := oConexion:Query("select * from cuentas where `codcta`='"+fCodCta+"'")
聽 聽 If oRcsA==Nil
聽 聽 聽 聽 Return(.f.)
聽 聽 EndIf
聽 聽 If !oRcsA:Eof()
聽 聽 聽 聽 If !Empty(fDebe)
聽 聽 聽 聽 聽 聽If fSumRes = "+"
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Debe"):Value 聽+= fDebe
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Debe"):Value 聽-= fDebe
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 EndIf

聽 聽 聽 聽 If !Empty(fHaber)
聽 聽 聽 聽 聽 聽If fSumRes = "+"
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Haber"):Value += fHaber
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Haber"):Value -= fHaber
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 EndIf

聽 聽 聽 聽 oRcsA:Save()
聽 聽 EndIf聽 聽

聽 聽 oRcsA:Close()


El mismo resultado con la versi贸n 16.05 y 16.06

Nota: Con ADO no aumenta la memoria en procesos de windows, con ese mismo ejemplo
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Tue Aug 30, 2016 04:44 PM
luisduque wrote:Maestro Antonio

1. libmysql.dll en 32bits y 64bits se debe llamar as矛 hay que cambiar de nombre a libmysql64.dll por libmysql.dll para poder trabajar en 64bits existe alguna manera de trabajar con libmysql.dll y libmysql64.dll en la misma carpeta asi como se trabaja freeimage.dll y freeimage64.dll.

2. coloco un ejemplo sencillo donde cada vez que se revisa una procedimiento se incrementa la memoria, es como si no cerrara el oRcs coloco un ejemplo
cada vez que entra a CalCtaAntDH se incrementa la memoria.

Code (fw): Select all Collapse
聽 聽oRcs := oConexion:Query("Select * From MaesCont Order by NroAsi")
聽 聽 If oRcs==Nil
聽 聽 聽 聽 Return(.f.)
聽 聽 EndIf
聽 聽While !oRcs:Eof()

聽 聽 聽 聽 fNroAsi := oRcs:Fields("NROASI"):Value
聽 聽 聽 fFecAsi := oRcs:Fields("FECASI"):Value

聽 聽 聽 聽 fTotDeb := 0
聽 聽 聽 聽 fTotHab := 0 

聽 聽 聽 聽oRcsC := oConexion:Query("Select * From DetaCont Where NroAsi="+str(fNroAsi))
聽 聽 聽 聽 If oRcsC==Nil
聽 聽 聽 聽 聽 聽 Return(.f.)
聽 聽 聽 聽 EndIf
聽 聽 聽 聽 While !oRcsC:Eof()

聽 聽 聽 聽 聽 fCodCta := oRcsC:Fields("CODCTA"):Value
聽 聽聽 聽 fDebe 聽 := oRcsC:Fields("DEBE"):Value
聽 聽 聽 聽 fHaber 聽:= oRcsC:Fields("HABER"):Value

聽 聽 聽 聽 聽 聽 fTotDeb += fDebe
聽 聽 聽 聽 聽 聽 fTotHab += fHaber

聽 聽 聽 聽 聽 聽 CalCtaAntDH(fCodCta,fDebe,fHaber,"+")

聽 聽 聽 聽 聽 聽oRcsC:MoveNext()
聽 聽 聽 聽 EndDo

聽 聽 聽 聽 oRcs:Fields("TotDeb"):Value := fTotDeb
聽 聽 聽 聽 oRcs:Fields("TotHab"):Value := fTotHab

聽 聽 聽 聽 oRcs:Save()

聽 聽 聽 聽oRcs:MoveNext()
聽 聽 EndDo
//
Procedure CalCtaAntDH(fCodCta,fDebe,fHaber,fSumRes)

聽 聽 oRcsA := oConexion:Query("select * from cuentas where `codcta`='"+fCodCta+"'")
聽 聽 If oRcsA==Nil
聽 聽 聽 聽 Return(.f.)
聽 聽 EndIf
聽 聽 If !oRcsA:Eof()
聽 聽 聽 聽 If !Empty(fDebe)
聽 聽 聽 聽 聽 聽If fSumRes = "+"
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Debe"):Value 聽+= fDebe
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Debe"):Value 聽-= fDebe
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 EndIf

聽 聽 聽 聽 If !Empty(fHaber)
聽 聽 聽 聽 聽 聽If fSumRes = "+"
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Haber"):Value += fHaber
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 oRcsA:Fields("Haber"):Value -= fHaber
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 EndIf

聽 聽 聽 聽 oRcsA:Save()
聽 聽 EndIf聽 聽

聽 聽 oRcsA:Close()


El mismo resultado con la versi贸n 16.05 y 16.06

Nota: Con ADO no aumenta la memoria en procesos de windows, con ese mismo ejemplo
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Thu Sep 01, 2016 08:02 AM

Luis,

Has probado a hacer oRcs := nil despu茅s de usarlo ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Thu Sep 01, 2016 09:49 AM
Que yo recuerde esto s贸lo funciona en ADO
Code (fw): Select all Collapse
    fCodCta := oRcsC:Fields("CODCTA"):Value
       fDebe   := oRcsC:Fields("DEBE"):Value
        fHaber  := oRcsC:Fields("HABER"):Value
______________________________________________________________________________

Sevilla - Andaluc铆a
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Thu Sep 01, 2016 10:17 AM
xmanuel wrote:Que yo recuerde esto s贸lo funciona en ADO
Code (fw): Select all Collapse
 聽 聽fCodCta := oRcsC:Fields("CODCTA"):Value
聽 聽 聽 聽fDebe 聽 := oRcsC:Fields("DEBE"):Value
聽 聽 聽 聽 fHaber 聽:= oRcsC:Fields("HABER"):Value


Manu, en las nuevas clases de FWH:

- CLASS FWMariaConnection

- CLASS FWMariaRowSet

.../...
METHOD Fields( cName )
.../...

- CLASS TField

.../...
ACCESS Value
ASSIGN Value( x )
.../...

CLASS TFields
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Thu Sep 01, 2016 09:24 PM

Maestro Antonio

Acab茅 de probar y la memoria aumenta

Nota: La idea del ejemplo es simplemente para mostrar un consumo de memoria que se produce, y es un simple ejemplo que se me ocurri贸 para poderlo mostrar y algo f谩cil de entender.

Y la idea es que estamos haciendo una comparaci贸n en paralelo ADO y TYMSQL para poder hacer el cambio a la nueva clase de fivewin

El detalle del consumo de memoria es cuando se usa un sistema todo un d铆a y se hacen n cantidad de consultas se puede poner demasiado lento y eso es lo mas que hay que evitar.

Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Fri Sep 02, 2016 09:14 AM

Desconoc铆a esas clases...
Si me las env铆as a mi correo particular podr铆a :D :) :shock: echarles un vistazo para ver si descubro la p茅rdida de memoria

______________________________________________________________________________

Sevilla - Andaluc铆a
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Fri Sep 02, 2016 09:54 AM

Luis,

> El detalle del consumo de memoria es cuando se usa un sistema todo un d铆a y se hacen n cantidad de consultas se puede poner demasiado lento y eso es lo mas que hay que evitar

Cuando ocurra eso ve al administrador de tareas de Windows y revisa toda la informaci贸n que aparezca: ficheros abiertos, consumo de GDI, consumo memoria, etc.
y publ铆calo aqui, gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Fri Sep 02, 2016 02:49 PM

Maestro Antonio

El caso con la clase TMySql es muy simple entro al sistema ejecuto el proceso y empieza aumentar la memoria en ese caso no es en 1 hora o en el dia, solo entro ejecuto y el consumo de memoria empieza.

Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TMySql Fwh 16.05 y 16.06
Posted: Sun Sep 04, 2016 10:26 AM

Luis,

gracias por tu informaci贸n

Lo estamos revisando a ver que pueda estar pasando

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion