HMG 3.1.5

HMG Unicode versions 3.1.x related

Moderator: Rathinagiri

Post Reply
User avatar
dhaine_adp
Posts: 457
Joined: Wed Aug 06, 2008 12:22 pm
Location: Manila, Philippines

Re: HMG 3.1.5 (Test)

Post by dhaine_adp »

Hi Dr. Claudio,
Hi Danny.
Please post a small example.
Best regards,
My app is working fine now. The GDI32.DLL error I encountered came from a defective memory module. I don't have any problem now.

Sorry if I caused any trouble. :( But it took time for me to realize that the problem is hardware and not software.

Thanks,

Danny
Regards,

Danny
Manila, Philippines
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: HMG 3.1.5 (Test)

Post by esgici »

srvet_claudio wrote:Hi all.
Please unzip this file and replace c:\hmg.3.1.5\IDE\IDE.EXE for this attachment file.
I fixed language problem and empty resource problem.
Best regards,
Claudio.
srvet_claudio wrote:Hi all.
Please unzip this file and replace c:\hmg.3.1.5\IDE\IDE.EXE for this attachment file.
I fixed language problem and empty resource problem.
Best regards,
Claudio.
Hello Claudio

Separate thanks to "project path" extention :D

You are a real guru, a real "hidalgo" and a real friend 8-)

Viva HMG viva Dr. Soto :D

Best regards
Viva INTERNATIONAL HMG :D
User avatar
quartz565
Posts: 667
Joined: Mon Oct 01, 2012 12:37 pm
Location: Thessaloniki, Greece
Contact:

Re: HMG 3.1.5 (Test)

Post by quartz565 »

Thank you Claudio !

Nikos
Best Regards,
Nikos.

os: Windows Server 2019 - 64
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG 3.1.5 - Improvements and corrections

Post by Pablo César »

Rathinagiri wrote:Guys, what are all the points/bugs there to be solved before releasing a HMG Unicode Stable version?
I have prepared my "Improvements and corrections" for this versions and I did not publish earlier for fear that the list can be misunderstood, that is, that the list is just look like criticism or just to show bugs since the last (3.1.4) I got no answer or did not provide any discussion of some of the items as I expected and in fact this list aims to promote improvements and all to present ideas and solutions in certain items. But now I'm understanding that this list helped mcuh to surround some defects. In new versions is increasingly difficult to introduce new items and this is a sign that the version releases are getting better ... :)

Rathi, let me note something, with all due respect. When a new version of HMG is released, the version always comes the word "Test" between parenthesis. This used to it being in the version.txt file and the title of the threads here on the forum. I think "(Test)" should be removed. It gives the wrong impression that the released version is not the final and of course every new product is tested and new releases will happen, so I think it should be removed from this nomenclature, in my opinion. What do you think? Is there any reason for the version of HMG have the nomenclature "(Test)"?.
I put this as one more item on my list below:

1. C:\hmg.3.1.5\SAMPLES\ProgramExecution\MULTIPRG, it is not possible to compile due following:

a. Please replace BuildLib.bat with this contains:
@Echo off
SET temp1=%~dp0
SET temp2=%temp1%
SET pos=0

:loop
SET /a pos+=1
echo %temp2%|FINDSTR /b /c:"SAMPLES" >NUL
IF ERRORLEVEL 1 (
SET temp2=%temp2:~1%
IF DEFINED temp2 GOTO loop
SET pos=0
)

SETLOCAL EnableDelayedExpansion
set "temp3=%temp1%"
set /a pos=pos-2
set temp1=!temp3:~0,%pos%!
set PATH=%temp1%\harbour\bin;%temp1%\mingw\bin;%PATH%

if "%1"=="" for %%x in (*.hbp) do (hbmk2 %%x -i%temp1%\include)
2. C:\hmg.3.1.5\SAMPLES\MainDemo\MAIN.AUTOADJUST, This samples is crashing when make many resizing. Please replace actual sample with ( this one ). Because, not all components in actual samples are reziseble, then is crashing. This was indicated from HMG 3.1.3 version.

3. C:\hmg.3.1.5\hfcl\Samples\GridPrintPreFormat, Item "b. Error after Print option" need to rebuild libhbvpdf.a at C:\hmg.3.1.5\SOURCE\hbvpdf. Update libhbvpdf.a.

4. C:\hmg.3.1.5\Samples\USER.COMPONENTS, it does not compiles. I have some suggestions to let this example workable and make independent sample and not as is now with includes files being part of HMG main project. My suggestions are:
  • a. There are two includes files: i_UsrInit.ch and i_UsrSOOP.ch at c:\hmg.3.1.5\INCLUDE folder which will be not necessary to have it as internal HMG file. These files could be deleted.
    b. In place of these two files should be created only one with name UserInit.ch at c:\hmg.3.1.5\SAMPLES\USER.COMPONENTS folder (at current folder) and with the following content:

    Code: Select all

    #define BASEDEF_MYBUTTON 
    #xcommand @ <row>,<col> MYBUTTON <name> ;
    		OF <parent> ;
    		CAPTION <caption> ;
    		ACTION <action> ;
    	=>;
    	_DefineMyButton(<"name">,<row>,<col>,<caption>,<{action}>,<"parent">)
    #undef BASEDEF_MYBUTTON
    #xcommand DECLARE CUSTOM COMPONENTS <Window> ;
    =>;
    _dummy() ;;
    #define SOOP_MYBUTTON ;;
    #xtranslate <Window> . \<Control\> . Disable  => Domethod ( <"Window">, \<"Control"\> , "Disable" )  ;;
    #xtranslate <Window> . \<Control\> . Enable  => Domethod ( <"Window">, \<"Control"\> , "Enable" )  ;;
    #xtranslate <Window> . \<Control\> . Handle  => GetProperty ( <"Window">, \<"Control"\> , "Handle" )  ;;
    #xtranslate <Window> . \<Control\> . Handle  := \<v\> => SetProperty ( <"Window">, \<"Control"\> , "Handle" , \<v\> )  ;;
    #undef SOOP_MYBUTTON ;;
    c. Edit c:\hmg.3.1.5\SAMPLES\USER.COMPONENTS\demo.prg to add #Include "UserInit.ch"
    e. Delete Readme.txt which are some unecessary instructions, because now is include file at current folder.
    f. Edit Minigui.ch which wrongly contains following lines:
    #include "i_UsrInit.ch"
    #include "i_UsrSOOP.ch"

    These lines must be deleted, because is not part of any internal ressource of HMG, instead it's a simple example and with include file at current sample folder it is enough.
5. Image Changing IDE language. This Item probably did not has been readen at time by Dr. Soto. Which it is being changed on the fly but only in main IDE window and other"Project Browser" and "Object Inspector" windows are not changed the language.

6. Update ide.bat files in most of HMG samples, overwriting ide.bat files with C:\hmg.3.1.5\sample\ide.bat file.

7. IDE error message, I think for the next version of the IDE, could eliminate this condition and have to accept the names and path as the OS accepts and eliminate this kind of error message from the IDE:
Image

8. Image Flaws by the IDE in INI, HBP and RC files. Messages from Daniel Maximiliano and Rathi in this topic are explaining about it.

9. From HMG Wishlist MessageBox with TimeOut, this is an indication that I wish to have in HMG so that we can get better results in the "MessageBox" (MsgInfo, MsgStop, etc..) And be able to better interact with the user. Several other languages ​​have more flexibility and I think its does through MessageBoxIndirect as well as Visual FoxPro featuring "msgboxtimer".

10. Here in this message are some suggestions for IDE, which probably may be treated or improved. I would like to re-state what I think the very important question of the content of the title, so that in case of multiple sessions open and minimized, can easily be identified only by the name of the project when are all minimized at TaskBar of Windows. My suggestions it could be shown the project name (without ".hbp") + "at" + project path + IDE version (IMHO, without UNICODE/ANSI descriptions, because the color of ico file already tell us the current mode in use), as shows folowing picture:
Image

In StatusBar (first item), could it be removed the string "Compiler" (let just HMG version) and also space problem in the IDE title, which is displayed with cutted info because the IDE title is still too long string as being shown in the picture below:
Image

This is what I indicate, being like this:
Screen2a.PNG
Screen2a.PNG (14.93 KiB) Viewed 4848 times
11. Following patches are indicated for this version:

- Several files are being substituted
- Images compatibility for toolbar (backcolor transparent)

12. C:\hmg.3.1.4\SAMPLES\PROPOSED.FEATURES\GRID.SORT, errors at compiling sample. Functions LISTVIEW_GETCOLUMNORDERARRAY and LISTVIEW_SETCOLUMNORDERARRAY are already defined. But function LISTVIEW_GETCOLUMNORDERARRAY is returning Nil value into array, then "Get Columns Order" option is crashing. So needs to replace Demo.prg file by this or probably another with better ressources:

Code: Select all

/*
* HMG Grid Demo
* (c) 2005 Roberto Lopez
*
* ListView SORT ORDER COLUMN
* Author: BADIK <badik@mail.ru>
*/

#include "hmg.ch"

Memvar fColor

Function Main()
Local aRows [20] [3]

Private fColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , { 0,0,255 } , { 0,255,0 } ) }   

DEFINE WINDOW Form_1 ;
   AT 0,0 ;
   WIDTH 640 ;
   HEIGHT 400 ;
   TITLE 'Mixed Data Type Grid Test' ;
   MAIN

   DEFINE MAIN MENU
      DEFINE POPUP 'File'
         MENUITEM 'Set New Columns Order'   ACTION SetOrder()
         MENUITEM 'Get Columns Order'      ACTION GetOrder()
         MENUITEM 'Refresh Grid'         ACTION Form_1.Grid_1.Refresh
         SEPARATOR
         MENUITEM 'Exit'            ACTION Form_1.Release
      END POPUP
   END MENU

   aRows [1]   := { 113.12,date(),1,1 , .t. }
   aRows [2]   := { 123.12,date(),2,2 , .f. }
   aRows [3]   := { 133.12,date(),3,3, .t. }
   aRows [4]   := { 143.12,date(),1,4, .f. }
   aRows [5]   := { 153.12,date(),2,5, .t. }
   aRows [6]   := { 163.12,date(),3,6, .f. }
   aRows [7]   := { 173.12,date(),1,7, .t. }
   aRows [8]   := { 183.12,date(),2,8, .f. }
   aRows [9]   := { 193.12,date(),3,9, .t. }
   aRows [10]   := { 113.12,date(),1,10, .f. }
   aRows [11]   := { 123.12,date(),2,11, .t. }
   aRows [12]   := { 133.12,date(),3,12, .f. }
   aRows [13]   := { 143.12,date(),1,13, .t. }
   aRows [14]   := { 153.12,date(),2,14, .f. }
   aRows [15]   := { 163.12,date(),3,15, .t. }
   aRows [16]   := { 173.12,date(),1,16, .f. }
   aRows [17]   := { 183.12,date(),2,17, .t. }
   aRows [18]   := { 193.12,date(),3,18, .f. }
   aRows [19]   := { 113.12,date(),1,19, .t. }
   aRows [20]   := { 123.12,date(),2,20, .f. }

   @ 10,10 GRID Grid_1 ;
      WIDTH 620 ;
      HEIGHT 330 ;
      HEADERS {'Column 1','Column 2','Column 3','Column 4','Column 5'} ;
      WIDTHS {140,140,140,140,140} ;
      ITEMS aRows ;
      EDIT ;
      COLUMNCONTROLS { ;
         {'TEXTBOX' , 'NUMERIC' , '$ 999,999.99'} , ;
         {'DATEPICKER' , 'DROPDOWN'} , ;
         {'COMBOBOX' , {'One' , 'Two' , 'Three'}} , ;
         { 'SPINNER' , 1 , 20 } , ;
         { 'CHECKBOX' , 'Yes' , 'No' } ;
         } ;
      COLUMNWHEN { ;
         { || This.CellValue > 120 } , ;
         { || This.CellValue = Date() } , ;
         Nil , ;
         Nil , ;
         Nil ;
         } ;
      DYNAMICFORECOLOR { fColor , fColor, fColor, fColor, fColor }

END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return Nil

Function SetOrder()
Local aColumns := { 5, 4, 3, 2, 1 }

_SetColumnOrderArray( "Grid_1", "Form_1", aColumns )

Form_1.Grid_1.Refresh
Return Nil

Function GetOrder()
Local a := _GetColumnOrderArray( "Grid_1", "Form_1" )

// msgdebug(a)
aEval( a, {|x,i| MsgInfo ( "Column " + ltrim( str ( x ) ), ltrim( str ( i ) ) )} )
Return Nil

Function _GetColumnOrderArray( ControlName , ParentForm )
Local i, nColumn, aSort

i := GetControlIndex( ControlName , ParentForm )
nColumn := len(_HMG_SYSDATA [ 33 ] [i])
aSort := array(nColumn)
My_ListView_GetColumnOrderArray( _HMG_SYSDATA [ 3 ] [i], nColumn, @aSort )
Return aSort

Function _SetColumnOrderArray( ControlName , ParentForm, aSort )
Local i, nColumn

i := GetControlIndex( ControlName , ParentForm )
nColumn := len(_HMG_SYSDATA [ 33 ] [i])
ListView_SetColumnOrderArray( _HMG_SYSDATA [ 3 ] [i], nColumn, aSort )
Return Nil


#pragma BEGINDUMP

#define _WIN32_IE 0x0500

#include <windows.h>
#include <commctrl.h>
#include "hbapi.h"
#include "hbvm.h"

HB_FUNC ( MY_LISTVIEW_GETCOLUMNORDERARRAY )
{
   int nColumn = hb_parni(2);
   LPINT pnOrder = (LPINT) malloc(nColumn*sizeof(int));
   int i;

   ListView_GetColumnOrderArray( (HWND) hb_parnl(1), nColumn, pnOrder );

   for (i=0; i<nColumn; i++)
   {
      hb_storvni(pnOrder[i]+1, 3, i+1);
   }
}

#pragma ENDDUMP
13. Improvements in the example C:\hmg.3.1.5\SAMPLES\SampleApplications\CONTACTOS made by Javier Tovar as contributor. See this topic/message to upgrade actual example for future releases.

Notes: All itens sinalized with this Image have been already corrected.
Others tests will be done for the rest of samples and this message could be added and re-edited in this same message. But please gentlemen contributors, consider these suggestions in order to improve and not with the idea of criticism. And all this indications, could be improved and put in avaliation, in order to see what is better for everyone, so please is accepted your advices.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Rathinagiri
Posts: 5471
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Contact:

Re: HMG 3.1.5 (Test)

Post by Rathinagiri »

Thanks a lot Pablo.

Even though I had not mentioned anything here, I had considered most of the things I could solve. I will do it again before the next version is released.

This '(Test)' was introduced by Roberto to differentiate the HMG versions that can be used in LIVE environment and TEST environment. ie., these versions contain some new features that should be thoroughly tested.

I think we can release the next version as stable one.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG 3.1.5 (Test)

Post by Pablo César »

Ok, Thank you Rathi and your and from all rest colleagues opinion are very well come ! :)
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: HMG 3.1.5 (Test)

Post by srvet_claudio »

dhaine_adp wrote:Hi Dr. Claudio,
Hi Danny.
Please post a small example.
Best regards,
My app is working fine now. The GDI32.DLL error I encountered came from a defective memory module. I don't have any problem now.

Sorry if I caused any trouble. :( But it took time for me to realize that the problem is hardware and not software.

Thanks,

Danny
Ok Danny, thanks for report.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: HMG 3.1.5 - Improvements and corrections

Post by srvet_claudio »

Pablo César wrote: 10. From HMG Wishlist Project Path in IDE, this is an Esgici indication that shall need a third avaliation, because are two different suggestions and we have to see what is the best for all of us.
It's done, I opted for the suggestion of Esgici because I think is the best, the title bar of the IDE is already full and no longer fits more text.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG 3.1.5 - Improvements and corrections

Post by Pablo César »

srvet_claudio wrote:It's done, I opted for the suggestion of Esgici because I think is the best, the title bar of the IDE is already full and no longer fits more text.
Do not you think the title of the IDE is not necessary to be so large ? New ideas can be useful, improved and can be combined, may not ? Could accept both suggestions ?

I means... is it so necessary to have URL in the title ? Title also can give important details just when have several open projects and all IDEs sessions are minimized. By this suggestion we can see which one we wish to open:
Screen2.PNG
Screen2.PNG (14.54 KiB) Viewed 4874 times
As shows the image with both indications, you can choose previusly the right session of HMG IDE.

Make this happen ! ;)
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG 3.1.5 (Test)

Post by Pablo César »

srvet_claudio wrote:the title bar of the IDE is already full and no longer fits more text.
I think so... but it could be changed ?

This IDE TITLE is what I think going to be best for now:
Screen3.PNG
Screen3.PNG (26.44 KiB) Viewed 4874 times
By the way Dr. Soto, after you have done the change in IDE (your patch), the statusbar is showing the project name parcially (not complete). This could be auto-adjustable ?


If not, there is another solution, because tere are two empties StatusItem of the StatusBar. One can removed and another could displays a IDE mode: UNICODE or ANSI. Then it can reduze size of a new IDE TITLE... ;)
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Post Reply