HMG 3.4.3

HMG Unicode versions 3.1.x related

Moderator: Rathinagiri

User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: HMG 3.4.3

Post by srvet_claudio »

kcarmody wrote: Mon Mar 20, 2017 1:36 pm Thanks, Claudio, for all your good work!

I do not see any of the changes that I proposed for 3.4.3 in patch 2. These all relate to the WordScribe and WordWriter HFCL applications.

Here are the forum topics where I proposed these changes:
Here is where I have posted my proposal:
Best wishes

Kevin
Thanks Kevin
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: HMG 3.4.3

Post by kcarmody »

Pablo César wrote: Mon Mar 20, 2017 1:58 pm I never participated and I do not know if the idea of concentrating the code on a sourforce (for example) would make it easier. For there should be a system that centralizes and identifies changes by who and what they are made ...

That way we can all participate, identifying ourselves and asserting ourselves as someone approves ...

I think it's right here where we all sin ... we do not have a source code system that centralizes and can be managed for those who contribute.

We send messages, but sometimes messages are forgotten ...
Good point! I think you are talking about a change control system. There are several change control systems on the market. I don't know if there are any free ones, or how easy they are to use, or how much time they save (if any).

https://en.wikipedia.org/wiki/Change_control

There are also version control systems, but, as I understand it, these are used only by collaborators, a group of approved developers. I don't think that this would not work for the current HMG setup, since Claudio (as far as I know) is the only approved developer. Claudio has already disapproved of some of my changes in the form I originally proposed, and I redeveloped them in a form that he approved of.

https://en.wikipedia.org/wiki/Version_control
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG 3.4.3

Post by Pablo César »

Thank you Kevin for the clarification.

I'm not sure how it could be. :?

I think it should be a system, in which I wanted to sign up as a contributor, I could make code changes and make it available on a server with code change IDs.
And that later it could be approved or not. If it is approved, it would automatically go to a ChangeLog.
When a new version was released, it could compose all approved fonts without running the risk of getting lost.
Like I said, I have no experience with this type of control system.
On approval, I am sure that it should be with only one person, as well as analyzing if the changes are in the standard, free of errors and still maintaining backward compatibility. So everything must be analyzed and approved.

This is an interesting subject and I know it is not the first time it is addressed. But the idea of ​​updating a ChangeLog is cool, because once it's approved, this happens to be part of the release. In addition to registering what he did, who did and when he did.
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.4.3

Post by Pablo César »

Felicitaciones Claudio !

Ahora podemos decir que funciona el MultiThreads in HMG asi como funciona en Harbour, gracias a vos ! :P

Trabajo brillante, todavia lo estoy masticando... muy bueno !!

Gracias, muchas gracias Claudio.
 
Googled
Congratulations Claudio!

Now we can say that MultiThreads in HMG works as well as it works in Harbour thanks to you. :P

Work brilliant, I'm still chewing it ... very good !!

Thank you, thank you Claudio.
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.4.3

Post by Pablo César »

Claudio,

This multithreads is it faster and lighter than TIMER control ?
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.4.3

Post by srvet_claudio »

Pablo César wrote: Tue Mar 21, 2017 12:33 am Claudio,

This multithreads is it faster and lighter than TIMER control ?
The timer control is more lighter for the OS than the thread, because for each thread the OS has to create a separate work environment (stack, message queue, thread state, etc.) The threads are for concurrent works (which have to execute at the same time), the timer control is always sequential (the process is interrupted, the timer is executed and the process is resumed ).
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: HMG 3.4.3

Post by kcarmody »

kcarmody wrote: Mon Mar 20, 2017 1:36 pm I do not see any of the changes that I proposed for 3.4.3 in patch 2. These all relate to the WordScribe and WordWriter HFCL applications.

Here are the forum topics where I proposed these changes:
Here is where I have posted my proposal:
My posting was missing almost all of the .rc files for WordScribe. I've now corrected this. Sorry for the confusion.

Kevin
User avatar
salamandra
Posts: 311
Joined: Thu Jul 31, 2008 8:33 pm
DBs Used: DBF, MySQL, SQL
Location: Brazil

Re: HMG 3.4.3

Post by salamandra »

8-) Hi to all,
I am trying to move from HMG 3.3.1 to HMG 3.4.3 but I am having some problems:

1) Missing DLL file ( never been needed).
erro_hmg_343_0.PNG
erro_hmg_343_0.PNG (13.41 KiB) Viewed 6722 times
Libwinpthread-1.dll it is located at C:\hmg.3.4.3\MINGW\i686-w64-mingw32\lib\


2) Problem with HMG_GridInPlaceEdit().
Once opened, the editing window does not close anymore, neither pressing ESC nor pressing ENTER or when it loses focus, it remains
open and generates a runtime error.
hmg_inplaceedit_error_1.PNG
hmg_inplaceedit_error_1.PNG (5.33 KiB) Viewed 6722 times
hmg_inplaceedit_error.PNG
hmg_inplaceedit_error.PNG (31.74 KiB) Viewed 6722 times
Any ideia about this issue ?


[]´s Salamandra
There is one time in which is crucial awakening. That time is now. ( Buddha )
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: HMG 3.4.3

Post by srvet_claudio »

salamandra wrote: Tue Mar 21, 2017 4:04 pm 8-) Hi to all,
I am trying to move from HMG 3.3.1 to HMG 3.4.3 but I am having some problems:

1) Missing DLL file ( never been needed).
erro_hmg_343_0.PNG
Libwinpthread-1.dll it is located at C:\hmg.3.4.3\MINGW\i686-w64-mingw32\lib\


2) Problem with HMG_GridInPlaceEdit().
Once opened, the editing window does not close anymore, neither pressing ESC nor pressing ENTER or when it loses focus, it remains
open and generates a runtime error.
hmg_inplaceedit_error_1.PNG

hmg_inplaceedit_error.PNG

Any ideia about this issue ?


[]´s Salamandra
Did you download HMG 3.4.3 and apply patch 2 or did patch 2 apply to an older version of HMG? Look inside of you build.bat file if the hbmk2 take the directive -ldflag="-pthread -static -lpthread" ? You need all compilers of HMG.3.4.3 for this patch.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
salamandra
Posts: 311
Joined: Thu Jul 31, 2008 8:33 pm
DBs Used: DBF, MySQL, SQL
Location: Brazil

Re: HMG 3.4.3

Post by salamandra »

Hi Dr Claudio,
Thanks for your help.
I downloaded HMG3.4.3, applied Patch 1, applied Patch 2 and then rebuild all libs (32 bits).
I am using HMG Ide for small programs and QPM 5.5.0004 for bigger programs (faster building) and
both the builds report the same problem.


This is actual Build.bat:

Code: Select all

@ECHO OFF
TITLE Building in 32 bits...
rem *******************************************************************************
rem SYNTAX
rem *******************************************************************************
rem   build [ /n ] [ /d ] [ /c ] <program.prg> | <project.hbp> [<hbmk2 params>]
rem
rem   /n   no run after build
rem   /d   enabled debugger
rem   /c   console mode
rem
rem
rem   This batch file passes information to hbmk2 to make possible an easy (zero
rem   configuration build of HMG applications).
rem 
rem   You can achieve a customized build passing parameters directly to hbmk2.
rem   Please, take a look at hbmk2 help:
rem
rem   hbmk2 --help

rem *******************************************************************************
rem SET DEFAULT OPTIONS
rem *******************************************************************************

SET gtdrivers=-gtgui -gtwin
SET runafterbuild=.t.
SET debug=

rem ******************************************************************************
rem DELETE FILES FROM PREVIOUS BUILD
rem ******************************************************************************

if exist build.log del build.log
if exist error.log del error.log
if exist init.cld del init.cld

rem ******************************************************************************
rem SET HMGPATH
rem ******************************************************************************
rem
rem Using %~dp0 the HMGPATH is automatically set to current (HMG) folder making it
rem portable (zero config)

SET HMGPATH=%~dp0

rem ******************************************************************************
rem SET BINARIES PATHS
rem ******************************************************************************

SET PATH=%HMGPATH%\harbour\bin;%HMGPATH%\mingw\bin;%PATH%

rem *******************************************************************************
rem PROCESS PARAMETERS 
rem *******************************************************************************
rem
rem /n   no run after build
rem /d   enabled debugger
rem /c   console mode

if "%1"=="" goto VERSION
if /I [%1]==[/n] set runafterbuild=.f.
if /I [%1]==[/n] shift

rem if /I [%1]==[/d] set gtdrivers=-gtwin -gtgui
if /I [%1]==[/d] set debug=-b
rem if /I [%1]==[/d] echo options norunatstartup > init.cld
if /I [%1]==[/d] shift

if /I [%1]==[/c] set gtdrivers=-gtwin -gtgui
if /I [%1]==[/c] shift

rem In case ViewError.exe be not found in the environment setted, will be cutted off:
if not "%ViewError%"=="" if not exist %ViewError%\ViewError.exe SET ViewError=

rem ******************************************************************************
rem Attempt to delete EXE and report if it been executed
rem ******************************************************************************

:CHECKEXE
if exist "%~n1.exe" del "%~n1.exe"
if not exist "%~n1.exe" goto COMPILE_RES
if "%ViewError%"=="" echo x=MSGBOX("%~n1.exe is currently running."+chr(13)+chr(10)+"Close it and try again.",0," ERROR at trying to compile") > %temp%\TEMPmessage.vbs
if "%ViewError%"=="" call %temp%\TEMPmessage.vbs
if exist %temp%\TEMPmessage.vbs del %temp%\TEMPmessage.vbs /f /q
echo Operating System: cannot open output file %~n1.exe: Permission denied > error.log
echo HMG_IDE_NoRunApp >> error.log
if not "%ViewError%"=="" goto VIEWERROR
goto END

rem ******************************************************************************
rem COMPILE RESOURCES
rem ******************************************************************************

:COMPILE_RES

if exist build.log del build.log

echo #define HMGRPATH %HmgPath%\RESOURCES > _hmg_resconfig.h
COPY /b %HMGPATH%\resources\hmg32.rc+"%~n1.rc"+%HMGPATH%\resources\filler _temp.rc >NUL
WINDRES -i _temp.rc -o _temp.o >windres.log 2>&1

rem *******************************************************************************
rem SET PROJECT OUTPUT FILE NAME 
rem *******************************************************************************
rem
rem The first parameter sent to hbmk2 is -o%~n1.exe. I've added to it create the 
rem application with the project basename (<projectname.hbp> specified by the user.

rem *******************************************************************************
rem SET DEFAULT CONFIGURATION FILE
rem *******************************************************************************
rem
rem The second parameter sent to hbmk2 is the hmg.hbc script to set config required.

rem *******************************************************************************
rem SET QUIET MODE
rem *******************************************************************************
rem
rem The third parameter sent to hbmk2 is -q (Harbour quiet mode)

rem ******************************************************************************
rem CALL HBMK2
rem ******************************************************************************

rem -ldflag="-pthread -static -lpthread"  --> for gcc.exe link pthread library in static mode
rem -trace --> for show execute command line

HBMK2 -ldflag="-pthread -static -lpthread" -mt -o"%~n1" %HMGPATH%\hmg32.hbc %gtdrivers% %debug% -q %1 %2 %3 %4 %5 %6 %7 %8 >hbmk.log 2>&1


rem ******************************************************************************
rem CREATE LOGS
rem ******************************************************************************

if errorlevel 1 if exist windres.log copy /a windres.log+hbmk.log error.log >nul
if errorlevel 1 if not exist windres.log copy /a hbmk.log error.log >nul

if errorlevel 0 if exist windres.log copy /a windres.log+hbmk.log build.log >nul
if errorlevel 0 if not exist windres.log copy /a hbmk.log build.log >nul

if exist error.log goto ERROR
goto CLEANUP

rem ******************************************************************************
rem COMPILING ERRORS
rem ******************************************************************************

:ERROR
if not "%ViewError%"=="" echo HMG_IDE_NoRunApp >> error.log
goto VIEWERROR

rem ******************************************************************************
rem CLEANUP
rem ******************************************************************************

:CLEANUP
if exist windres.log del windres.log
if exist hbmk.log del hbmk.log
if exist _hmg_resconfig.h del _hmg_resconfig.h
if exist _temp.rc del _temp.rc
if exist _temp.o del _temp.o

rem ******************************************************************************
rem SHOW LOG
rem ******************************************************************************

:VIEWERROR
if not exist error.log TYPE build.log
if not exist error.log goto RUNAPP
if not "%ViewError%"=="" %ViewError%\ViewError.exe error.log %HmgPath% %1 32
if [%runafterbuild%]==[.f.] goto END
if "%ViewError%"=="" TYPE error.log
rem if "%ViewError%"=="" PAUSE
goto END

rem ******************************************************************************
rem RUN APPLICATION
rem ******************************************************************************

:VERSION
ECHO.
ECHO Build [ /n ] [ /d ] [ /c ] <program.prg> | <project.hbp> [<hbmk2 params>]
ECHO.
ECHO.
ECHO.
PAUSE
GOTO END
:RUNAPP
if [%runafterbuild%]==[.f.] goto END
if exist "%~n1".exe "%~n1".exe
:END

Thanks in advance,


[]´s Salamandra
There is one time in which is crucial awakening. That time is now. ( Buddha )
Post Reply