Page 3 of 12
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sat Sep 17, 2011 11:30 pm
by mrduck
concentra wrote:Hi Everybody.
... cut ...
Thank you for your message, Mauricio.
So, it must be said, the only one that, up to now, uses HMG4 in a production environment.... has no HMG3 code to convert...
concentra wrote:mrduck wrote:
Mauricio, do you have software in the works based on HMG4 ?
Parts of my mainstream software, the one that puts the money in my pocket, are in HMG4 in production environment.
Is a huge mixed console/GUI application using WVG/WVT and FiveWin.
All new functionality we are trying to write in HMG4 and the
goal is to have it all in HMG4 in the future, multiplataform.
So you say that NOW there are parts of your software that is already working using HMG4 library (I imagine a separate .exe... but I also remember you message about mixing WV? with hbQt... Can you tell me how to create such a mix and if it works correctly (yes, I believe it works

)
concentra wrote:
And I am realistic, I don't expect this goal to be completed in less than 2 or 3 years.
And, HMG4 still have a long way to be finished itself.
I know that there are still missing or artially implement methods in HMG4, expecially in DBF based GRID/BROWSE when a filter is set... but generally speaking, what do you think is present in Fivewin and not in HMG4 ?
Can you tell us a little about your porting experience ?
Francesco
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sat Sep 17, 2011 11:40 pm
by mrduck
concentra wrote:
And of course such an application must be coded accordingly to run in the device Android is running, don't expect to have a fully functional desktop application running efficiently in a cell phone...
I ordered a settop box marked "Google TV" (I believe it is unofficial... it is not produced by Google, but one official one should be in the works).... it is a settop box that runs android and connects to a tv/monitor. You can connect a USB [wireless] keyboard and mouse, SD for internal storage, HD for external storage, it has lan e wifi connection. It has a video chipset able to decode H264 full-hd video on the fly
It is exactly like a phone, without the "phone" part, like ipod-touch vs iphone.... but it connects to the tv via hdmi up to full-hd... so you have PLENTY of space on a 50"... (my brother-in-law... I don't have one.... yet)
I bought one of these boxes to:
- play angry birds and another game on a tv (my reason...)
- have my wife check her mail in a way easier way ("official" reason)
- play videos/music/picture slideshow (to accomplish the daughters)
So, strictly speaking, android is not only for phones, or tablet...
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 7:00 am
by Rathinagiri
Ricci wrote:mrduck wrote:
But, are you (all the readers) willing to cooperate ? How ?
For example, do you have a "small complete program" that you can try to port to HMG4 ? With "small complete program" I mean something with 3/4 forms, with some DBFs ?
Yes, I can port my Orchid program to HMG4, I still started some month ago but stopped because at this time browse/grid did not work with dbf. The main form is still working so I can continue with the rest.
I am porting my Interest(ing) calculator and will post today or tomorrow.
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 7:09 am
by mrduck
Later this evening I will commit some updates to make porting easier.
Please report any difficulties you found, problems, etc.
rathinagiri wrote:I am porting my Interest(ing) calculator and will post today or tomorrow.
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 6:10 pm
by Ricci
mrduck wrote:Ricci wrote:mrduck wrote:
But, are you (all the readers) willing to cooperate ? How ?
For example, do you have a "small complete program" that you can try to port to HMG4 ? With "small complete program" I mean something with 3/4 forms, with some DBFs ?
Yes, I can port my Orchid program to HMG4, I still started some month ago but stopped because at this time browse/grid did not work with dbf. The main form is still working so I can continue with the rest.
Thanks, I was about to ask to you since I found reference to your test with marinas in an old thread. Is it open source ?
PLEASE tell me if you have problems with the GRID/BROWSE, I'm doing some work on it.
If there are errors, please send me the GRID/BROWSE istruction to test.
Looks like I need a lot of time.
I get hundreds of warnings while compiling and errors which I don´t understand at program start. With the last version of HMG4 everything was fine.
That´s frustrating.
Seems like I have to build my program from the scratch, but 2000 lines of code only for testing ????
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 6:24 pm
by mrduck
Ricci wrote:
Looks like I need a lot of time.
I get hundreds of warnings while compiling and errors which I don´t understand at program start. With the last version of HMG4 everything was fine.
That´s frustrating.
Seems like I have to build my program from the scratch, but 2000 lines of code only for testing ????
Please remember to define HMG3 before loading hmg.ch, for example in hbmk.hbm add following line
-DHMG3
Please have a look at include\hmg3.ch, it is not complete... it is a one-time job to complete it...
I'm starting to create a doMethod function... pay attention there are only 3 parameters... for example getting ITEM from a GRID is a 4 parameter job....
Code: Select all
FUNCTION doMethod( a1, a2, a3 )
DO CASE
CASE pCount() == 2
&a1:&a2()
CASE pCount() == 3
&a1:&a2:&a3()
ENDCASE
RETURN .T.
Please download the last svn, Luigi commited some patches I prepared yesterday for better hmg3 compatibility. PLEASE add this function call
hmg3(.T.)
to activate some more compatible layer...
After these changes, 4 minutes work please compile again and sen me the warning file...
I already asked, is the source code for this program open-source ?
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 7:10 pm
by Carlos Britos
Ricci wrote:rathinagiri wrote:And we have to verify whether HMG4 is that slower. I personally don't think so. Once loaded, it is as fast as windows, I think.
It´s a bit slower because the way of a command to the graphical output is "longer" and the definition of objects seems to be slower (because of QT?).
About the size of the remaining exe: if I include the QT-libs into the exe it will be about 50 MB, the same HMG3 program under 3MB.
But that´s nothing to worry about. When I said, HMG4 is slower than HMG3, I mean that it is a bit slower not "it is slow".
It is normal that platform independent software is slower than platform optimized. If you compare Office 2010 with OpenOffice, there is a big difference in speed (especially when loading the program) but you can work with both of them without problems.
Hi
I've made a very simple comparation between gui libs, is not the true of the universe, it's just to see some difference between them. Of course to get a real performance of the libs, we need a different test.
Testing the below code the values are in seconds:
average 5 times - loop 100000
Code: Select all
hmg4 hmg3 hmgee oohg
get value 0.26 4.05 3.10 3.36
set value 0.34 3.70 9.54 15.69
set height 0.59 5.40 7.62 6.45
hide/show 2.52 90.40 87.30 116.50
hmg4 Harbour + MinGW
hmg3 Harbour + MinGW
hmgee Harbour + Bcc
oohg xHarbour + Bcc
Code: Select all
#include "hmg.ch"
* #include "minigui.ch"
* #include "oohg.ch"
* #include "ighqt.ch"
MEMVAR oWin
FUNCTION Main
LOCAL lbl1
PUBLIC oWin
DEFINE WINDOW oWin ;
AT 0,0 ;
WIDTH 450 HEIGHT 400 ;
TITLE 'Main Window' ;
MAIN
@ 10,10 LABEL lbl1 ;
WIDTH 350 ;
HEIGHT 30 ;
VALUE ''
@ 50,10 LABEL Label_2 ;
VALUE 'Click Me !' ;
ACTION Test()
@ 100,10 editBox ed1 ;
WIDTH 450 ;
HEIGHT 250 ;
VALUE ''
END WINDOW
ACTIVATE WINDOW oWin
RETURN NIL
/*----------------------------------------------------------------------*/
FUNCTION test()
LOCAL q, nx, c := ''
oWin.lbl1.value := 'test'
q := seconds()
FOR nx := 1 TO 100000
x := oWin.lbl1.value
NEXT
c += 'get value ' + hb_NToS( seconds() - q )
q := seconds()
FOR nx := 1 TO 100000
oWin.lbl1.value := 'qwerty'
NEXT
c += ' set value=' + hb_NToS( seconds() - q )
q := seconds()
FOR nx := 1 TO 100000
oWin.lbl1.height := 50
NEXT
c += ' set height=' + hb_NToS( seconds() - q )
q := seconds()
FOR nx := 1 TO 100000
** oWin.lbl1.backcolor := {250,0,0}
oWin.lbl1.hide()
oWin.lbl1.show()
NEXT
c += ' hide/show=' + hb_NToS( seconds() - q )
oWin.ed1.value := oWin.ed1.value + chr(13)+chr(10) + c
RETURN 0
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 7:34 pm
by mrduck
Carlos Britos wrote:
I've made a very simple comparation between gui libs, is not the true of the universe, it's just to see some difference between them. Of course to get a real performance of the libs, we need a different test.
Testing the below code the values are in seconds:
average 5 times - loop 100000
Code: Select all
hmg4 hmg3 hmgee oohg
get value 0.26 4.05 3.10 3.36
set value 0.34 3.70 9.54 15.69
set height 0.59 5.40 7.62 6.45
hide/show 2.52 90.40 87.30 116.50
hmg4 Harbour + MinGW
hmg3 Harbour + MinGW
hmgee Harbour + Bcc
oohg xHarbour + Bcc
Interesting indeed !
So, if I understand correctly, IN THIS TESTS, HMG4 is 10 times quicker than HMG3.. !!??
I don't know what hmgee is (extended ? but is it a rewrite ? why this big time difference with standard hmg3 ?). oohg is ?
since you are at it, can you also try marinas-gui ?
PS: I understand that this is a test only and nothing can be said for real time use of the program. Other issues may be important to users...
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 7:53 pm
by Rathinagiri
Hi
I have attached the Interest(ing) Calculator source after removing calls to hmg3 related hfcl/c pragma.
I have added hmg3(.t.) and -DHMG3 as well.
Can you guide me how to go with porting?
Re: REALLY IMPORTANT: is anyone interested in HMG4 ?
Posted: Sun Sep 18, 2011 8:14 pm
by Rathinagiri
Hi,
In my system the result of the test in HMG3 for 5 times are:
get value 1.92 set value=1.52 set height=2.47 hide/show=4.65
get value 2.01 set value=1.55 set height=2.51 hide/show=3.00
get value 1.90 set value=1.51 set height=2.45 hide/show=3.36
get value 1.91 set value=1.52 set height=2.47 hide/show=3.48
get value 1.97 set value=1.55 set height=2.55 hide/show=3.05
And I could not get the result in HMG4. Your program gets compiled but nothing comes up.