Page 6 of 13

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 4:17 pm
by Roberto Lopez
flavio.veloso wrote:Sr. Roberto Lopez.

Eu posso ter uma versão da HMG.4, sendo compilada como xharbour + Mingw:

Assim como:

Eu posso ter uma versão da HMG.3.0.36, sendo compilada como xharbour + Mingw:

Ou o projeto usa como padrão o harbour-project e nunca teremos uma versão usando o xharbour.org.

Caso eu possa criar as lib´s das HMG usando o xharbour poderia mim passar como fazer, tipo um make.bat para eu poder criar as lib´s mas usando o mingw + xharbour_1.2.1.

Atenciosamente,

Flávio Veloso.
I'm not an xHarbour user, so I can't help you with that.

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 4:20 pm
by Roberto Lopez
Ricci wrote:
Roberto Lopez wrote: So, at the moment, I've patched my current 3.0.35 with the Grigory's path for multiselect grid and your .36 code for memory leaks.
Roberto, in 3.0.36 are still a lot of memory leaks that causes too much GDI handles. I´m trying to find them.

Ricci
Ok.

No problem.

We already have (for a new maintenance release) the Grigory fix for multiselect grid and my (pending) changes to IDE.

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 4:23 pm
by Roberto Lopez
Ricci wrote:I found it but that looks really bad: the fixes Grigory and me made in .35 are not working in .36 anymore.
Especially the IMAGELIST_DESTROY() in h_controlmisc.prg seems to have no effect at all.

Better going back to .35 ?
Maybe that some of the Harbour internal changes (the same that affected multiselect grid) be affecting C level functions dedicated to release handles.

Please, take a look at that.

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 4:41 pm
by Ricci
I found my old test program for one memory leak:

Code: Select all

#include "minigui.ch"

Function Main

DEFINE WINDOW Form_1 ;
      AT 0,0 ;
      WIDTH 200 HEIGHT 100 ;
      MAIN 

      @ 10,20 TEXTBOX TextBoxName ;
                VALUE "" ;
                WIDTH 100 HEIGHT 20 ;
                FONT "ARIAL" SIZE 09

      @ 40,60 BUTTON ButtonNew ;
                PICTURE "document-edit.bmp" ;
                ACTION ButtonClick() ;
                WIDTH 30 HEIGHT 30 FLAT    
   END WINDOW
   
   ACTIVATE WINDOW Form_1

Return Nil

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

Function ButtonClick()
local xx

for xx := 1 to 1000
    Form_1.ButtonNew.picture := "document-edit-gray.bmp"

    Form_1.ButtonNew.picture := "document-edit.bmp"
next
   
Return Nil
When clicking on the button "ButtonNew" the program does nothing more than changing the picture property of the button 2000 times.
With .35 you loose no GDI handle, with .36 you loose 8000. The same situation before fixing the leak in .35.

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 4:54 pm
by Roberto Lopez
Ricci wrote: When clicking on the button "ButtonNew" the program does nothing more than changing the picture property of the button 2000 times.
With .35 you loose no GDI handle, with .36 you loose 8000. The same situation before fixing the leak in .35.
This appears to confirm my theory.

Some change in Harbour has made that C some level functions in charge of release handles stop working...

Perhaps, Grigory has the right answer...

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 7:43 pm
by danielmaximiliano
Hola Roberto :
El IDE actualmente tiene tendencia a Incluir .FMG que no estan en el Proyecto pero si en la carpeta donde reside el mismo. [img]Vencimientos%20Form.jpg[/img]
otro caso que me suele suceder. en esa misma carpeta tengo otro proyecto, el mismo tiene errores de algun tipo. al intentar compilar el primer proyecto el mismo muestra el BUILD LOG en blanco al mirar dentro
de error.log o build.log me encuentro esto.

Code: Select all

hbmk2: Processing configuration: C:\hmg.3.0.35\harbour\bin\hbmk.cfg
hbmk2: Processing: Cartera.hbc
hbmk2: Processing: VENCIMIENTOS.hbc
hbmk2: Linking... VENCIMIENTOS.exe
c:/hmg.3.0.35/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot find -lhbxml
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
gcc.exe .hbmk\win\mingw\main.o .hbmk\win\mingw\_hbmkaut.o _temp.o    -mwindows -Wl,--start-group -lhbxml -lhmg -lhbmysql -lmysql -lcrypt -ledit -leditex -lgraph -lini -lreport -lhbwin -lhbziparc -lhbmzip -lmsvfw32 -lvfw32 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbvpdf -lhbmemio -lhbsqlit3 -lsqlite3 -lhbfimage -lhbpgsql -lpq -lhbtip -lhbct -lhbmisc -lhbnetio -lxhb -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib  -Wl,--end-group -oVENCIMIENTOS.exe -LC:/hmg.3.0.35/harbour/lib -Lc:/hmg/lib -LC:/hmg.3.0.35//lib -LC:/Vencimientos/
la aplicacion no se compila ya que HBMK2 procesa tambien cartera.hbc y cartera.hbp que tiene un error(en este caso una libreria que no se encuentra)

subo una imagen de los 2 examinadores de proyecto

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 7:55 pm
by Roberto Lopez
danielmaximiliano wrote:Hola Roberto :
El IDE actualmente tiene tendencia a Incluir .FMG que no estan en el Proyecto pero si en la
<...>
Voy a modificar el IDE para que simplemente invoque 'buildapp.bat' usando como parámetros los archivos .hbp y hbc del proyecto.

De ahora en adelante, todo será responsabilidad de hbmk2.

Re: HMG 3.0.36 (Test)

Posted: Thu Jun 16, 2011 8:00 pm
by danielmaximiliano
Gracias Roberto :
pruebo de manera separada algunos modulos del proyecto y despues incluirlos en el mismo
suele ser tedioso tener muchas carpetas para un mismo proyecto por esa razon.

Re: HMG 3.0.36 (Test)

Posted: Fri Jun 17, 2011 3:26 am
by Roberto Lopez
rathinagiri wrote:
Roberto Lopez wrote:
rathinagiri wrote: <...>
But it has some specific problems. I will list them tomorrow.
Forget about it.

I've decided to modify IDE to support the new simplified build batch file.

I'll send the required parameters to hbmk2 directly via the new batch.
That's great Roberto!
<...>
Ok.

I've modified IDE to make the following call:

<hmgpath>\buildapp.bat <project.hbp> <project.hbc>

That does not work.

Problem 1: IDE must create the hbmk.hbm

I've instructed IDE to do so.

Problem 2: .fmg files are not found in the current (project) folder.

I've solved modifiying buildapp.bat.

A parameter must be added to hbmk2: "-i."

That instruct hbmk2 to locate includes (fmg files) in the current (.) folder.

The problem 3 is a question (since I'm not sure about that).

hbmk.hbm points hbmk2 to pick the hmg.hbc file at hmg root.

What happens to <project.hbc> file in the project folder.

Does it be processed?

TIA.

Re: HMG 3.0.36 (Test)

Posted: Fri Jun 17, 2011 4:45 am
by Rathinagiri
Hi Roberto,

Sorry to intrude.

Have you tried to use the modified build.bat?

Buildapp.bat is old one and the latest build.bat is working fine except the problems I have mentioned.