Page 15 of 16

Re: HMG 3.1.1

Posted: Tue Apr 02, 2013 10:35 pm
by srvet_claudio
danielmaximiliano wrote:
srvet_claudio wrote:
srvet_claudio wrote:Hi All.
I attached a patch for source code of HMG.3.1.1

Best regards,
Claudio.
Hola Claudio: Como siempre muchas gracias por su esfuerzo en las contribuciones para con HMG.

este segundo patch contiene el 1° patch ? sino es asi puede ser un nuevo topico acerca del mismo( Patch para HMG.3.1.1)
Hi Daniel.
Yes, this 2nd patch includes first patch.
Un abrazo,
Claudio.

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 11:28 am
by esgici
srvet_claudio wrote: ...
This is a new patch for HMG.3.1.1
...
Hi Dr

- re-installed HMG_3.1.1 to a new folder ( clean install )
- Open hmg.3.1.1_patch2.rar to this folder by overwrite
- run buildlib.bat
- open MENU_Dynamic_Demo\demo.hbp by HMG_IDE
- build and run

C:/hmg/lib/libhmg.a(c_winapimisc.o):c_winapimisc.c:(.text+0xac): undefined reference to `HMG_WCHAR_TO_CHAR'
...
C:/hmg/lib/libhmg.a(c_dialogs.o):c_dialogs.c:(.text+0x840): undefined reference to `HMG_CHAR_TO_WCHAR
...
'


- add

Code: Select all

#include "HMG_UNICODE.h" 
line to (top of) C:\hmg_3.1.1\INCLUDE\minigui.ch

- run buildlib.bat
- open MENU_Dynamic_Demo\demo.hbp by HMG_IDE
- build and run

C:\hmg_3.1.1\include\HMG_UNICODE.h(51) Error F0029 Can't open #include file 'tchar.h'

Where I'm wrong :cry: :?:

Note : there are multiple notes in harbour\changelog.txt such as:
2012-11-27 21:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
...
* do not include <tchar.h>, current code does not use
any tchar functions and macros and some older MinGW
versions are broken and this files breaks some standard
unicode macros like TEXT()
I don't know is there any relation :(

TIA

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 12:56 pm
by mol
Maybe it's time to create new full version?

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 1:05 pm
by srvet_claudio
esgici wrote:
srvet_claudio wrote: ...
This is a new patch for HMG.3.1.1
...
Hi Dr

- re-installed HMG_3.1.1 to a new folder ( clean install )
- Open hmg.3.1.1_patch2.rar to this folder by overwrite
- run buildlib.bat
- open MENU_Dynamic_Demo\demo.hbp by HMG_IDE
- build and run

C:/hmg/lib/libhmg.a(c_winapimisc.o):c_winapimisc.c:(.text+0xac): undefined reference to `HMG_WCHAR_TO_CHAR'
...
C:/hmg/lib/libhmg.a(c_dialogs.o):c_dialogs.c:(.text+0x840): undefined reference to `HMG_CHAR_TO_WCHAR
...
'


- add

Code: Select all

#include "HMG_UNICODE.h" 
line to (top of) C:\hmg_3.1.1\INCLUDE\minigui.ch

- run buildlib.bat
- open MENU_Dynamic_Demo\demo.hbp by HMG_IDE
- build and run

C:\hmg_3.1.1\include\HMG_UNICODE.h(51) Error F0029 Can't open #include file 'tchar.h'

Where I'm wrong :cry: :?:

Note : there are multiple notes in harbour\changelog.txt such as:
2012-11-27 21:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
...
* do not include <tchar.h>, current code does not use
any tchar functions and macros and some older MinGW
versions are broken and this files breaks some standard
unicode macros like TEXT()
I don't know is there any relation :(

TIA

Hi Esgici.

Wow, is strange problem ... :?: in my two laptop works ok (XP and 7).

Please:

1) delete the line (you add): #include "HMG_UNICODE.h" of the file C:\HMG.3.1.1\INCLUDE\minigui.ch

2) Test if in the file C:\HMG.3.1.1\INCLUDE\HMG_UNICODE.h have the lines:

Code: Select all

    ...
    #define HMG_CHAR_TO_WCHAR(c)     ((c != NULL) ? hb_osStrU16Encode(c) : NULL)  // return WCHAR
    ...
    #define HMG_WCHAR_TO_CHAR(c)      hb_osStrU16Decode(c)                       // return CHAR
    ...
3) See if the beginning of the file C:\HMG.3.1.1\SOURCE\c_winapimisc.c, c_dialogs.c, ... have the line: #include "HMG_UNICODE.h"

4) See if file C:\HMG.3.1.1\hmg.hbp is:
-hblib
-olib/hmg

-Iinclude

-D__HBIDE__

-w2 -es2

source/UNICODE_STRING.prg
source/ErrorSys.prg
source/h_browse.prg
...
...

Hope it works :!:
Best regards,
Claudio

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 1:06 pm
by srvet_claudio
mol wrote:Maybe it's time to create new full version?
Yes, it's the best.

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 1:59 pm
by esgici
esgici wrote: ...
Where I'm wrong :cry: :?:
...
FOUND !

Guilty is C:\hmg.3.1.1\IDE\hmg.ini ( Not me :lol: )

I'm changing ( very frequently ) HMG root folder name ( hmg, hmg.3.1.1, hmg.311, hmg_3.046 etc ).

HMG_IDE always look at C:\hmg.3.1.1\IDE\hmg.ini for HMG root folder ( HMG path) :(

I must modify content of that hmg.ini depending on HMG root folder whenever changed :!:

Sorry Dr and other friends interested :oops:

By the way; it's important enhancement ability to change menu content ( especially for language ) :arrow:

Separate thanks for this Dr. :)

Happy HMG'ing :D

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 2:16 pm
by Rathinagiri
Now is the time for a new version. :)

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 2:21 pm
by esgici
rathinagiri wrote:Now is the time for a new version. :)
Definitely :!:

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 2:27 pm
by srvet_claudio
esgici wrote:
esgici wrote: ...
Where I'm wrong :cry: :?:
...
FOUND !

Guilty is C:\hmg.3.1.1\IDE\hmg.ini ( Not me :lol: )

I'm changing ( very frequently ) HMG root folder name ( hmg, hmg.3.1.1, hmg.311, hmg_3.046 etc ).

HMG_IDE always look at C:\hmg.3.1.1\IDE\hmg.ini for HMG root folder ( HMG path) :(

I must modify content of that hmg.ini depending on HMG root folder whenever changed :!:

Sorry Dr and other friends interested :oops:

By the way; it's important enhancement ability to change menu content ( especially for language ) :arrow:

Separate thanks for this Dr. :)

Happy HMG'ing :D
It's ok, no problem. :D

Re: HMG 3.1.1

Posted: Wed Apr 03, 2013 6:05 pm
by gfilatov
srvet_claudio wrote: It's ok, no problem. :D
Hello Dr. Soto,

There is a GDI bitmap resources leak in the current GdiPlus usage.

My test sample is below:

Code: Select all

/*
 * HMG - Harbour Win32 GUI library Demo
 *
 * Copyright 2002 Roberto Lopez <mail.box.hmg@gmail.com>
 * http://www.hmgforum.com//
*/

#include "hmg.ch"

Function Main

        DEFINE WINDOW Win_1 ;
                AT 0,0 ;
                WIDTH 640 HEIGHT 480 ;
                TITLE 'Main Window' ;
                ICON 'WORLD' ;
                MAIN

                @ 200,140 IMAGE Image_1 ;
                        PICTURE 'img.gif' ;
                        WIDTH 200 ;
                        HEIGHT 200

                @ 10 ,10  BUTTON Button_1 CAPTION "Set png" ACTION test() WIDTH 100  HEIGHT 30
                @ 10 ,110 BUTTON Button_2 CAPTION "Set jpg" ACTION Win_1.Image_1.Picture := "img.jpg" WIDTH 100  HEIGHT 30
                @ 10 ,210 BUTTON Button_3 CAPTION "Set ico" ACTION Win_1.Image_1.Picture := "img.ico" WIDTH 100  HEIGHT 30
                @ 10 ,310 BUTTON Button_4 CAPTION "Set wmf" ACTION Win_1.Image_1.Picture := "img.wmf" WIDTH 100  HEIGHT 30
                @ 10 ,410 BUTTON Button_5 CAPTION "Set cur" ACTION Win_1.Image_1.Picture := "img.cur" WIDTH 100  HEIGHT 30
                @ 10 ,510 BUTTON Button_6 CAPTION "Set bmp" ACTION Win_1.Image_1.Picture := "demo.bmp" WIDTH 100  HEIGHT 30

        END WINDOW

        ACTIVATE WINDOW Win_1

Return Nil


func test
local i

for i:=1 to 1000
Win_1.Image_1.Picture := "img.png"
do events
next

retu nil
We have 1(one) unreleased bitmap resource at the each step of iteration (tested via GDIView utility from http://www.nirsoft.net/) :roll:

What is your opinion?