TMySql Fwh 16.05 y 16.06

TMySql Fwh 16.05 y 16.06

Postby luisduque » Mon Aug 29, 2016 1: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: Select all  Expand view


   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
luisduque
 
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela

Re: TMySql Fwh 16.05 y 16.06

Postby luisduque » Tue Aug 30, 2016 4: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: Select all  Expand view


   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
luisduque
 
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela

Re: TMySql Fwh 16.05 y 16.06

Postby Antonio Linares » Thu Sep 01, 2016 8:02 am

Luis,

Has probado a hacer oRcs := nil después de usarlo ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: TMySql Fwh 16.05 y 16.06

Postby xmanuel » Thu Sep 01, 2016 9:49 am

Que yo recuerde esto sólo funciona en ADO
Code: Select all  Expand view
   fCodCta := oRcsC:Fields("CODCTA"):Value
       fDebe   := oRcsC:Fields("DEBE"):Value
        fHaber  := oRcsC:Fields("HABER"):Value
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TMySql Fwh 16.05 y 16.06

Postby cnavarro » Thu Sep 01, 2016 10:17 am

xmanuel wrote:Que yo recuerde esto sólo funciona en ADO
Code: Select all  Expand view
   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
User avatar
cnavarro
 
Posts: 6501
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: TMySql Fwh 16.05 y 16.06

Postby luisduque » Thu Sep 01, 2016 9: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
luisduque
 
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela

Re: TMySql Fwh 16.05 y 16.06

Postby xmanuel » Fri Sep 02, 2016 9: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
xmanuel
 
Posts: 756
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: TMySql Fwh 16.05 y 16.06

Postby Antonio Linares » Fri Sep 02, 2016 9: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: TMySql Fwh 16.05 y 16.06

Postby luisduque » Fri Sep 02, 2016 2: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
luisduque
 
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela

Re: TMySql Fwh 16.05 y 16.06

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 48 guests