HMG FAQ

HMG announcements; Latest HMG-related news, releases, fixes and updates.

Moderator: Rathinagiri

Post Reply
User avatar
Roberto Lopez
HMG Founder
Posts: 3919
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 15 times
Been thanked: 140 times

HMG FAQ

Post by Roberto Lopez » Fri Apr 24, 2009 3:30 am

Hi All,

Welcome to the HMG Forum!

At first, a big thanks to Rathinagiri who had created this site for us.

Currently I have a little free time to be here, but I'll try to do my best
to, at least, read the forums daily and eventually do some posts.

What is HMG ?

Well.. for the new people approaching HMG I can say that this is a mix
between one of the best programming and data manipulation languages ever
created (xBase) and the VB/RapidQ GUI handling style.

All GUI object are public and can be created and managed with very simple
code.

The basic components of HMG are:

* Harbour Compiler (generates C code from xBase code).

* Harbour MiniGUI library (functions and preprocessor directives
to handle GUI).

* MingW Compiler.

* Harbour MiniGUI IDE (Optional tool for two-way visual design).

What are the main project goals ?

To keep the GUI handling as easy, elegant and clean as possible and the
library core as compact, stable and reliable as we can.

It implies, that the changes to the core will be subject to very strict test
prior tag a specific build as 'stable'.

Other of the main goals is to hide the complexities associated with the
operating system internals, allowing to the programmer, focus on his
application, instead OS technical things.

So, what is the place for experimentation and exciting new 'things' ?

The User components interface, of course.

I've created to let to any HMG user to add fully new GUI elements, or add
properties and events to existing ones.

Where is the HMG site ?

http://harbourminigui.googlepages.com

Where can I download HMG ?

http://harbourminigui.googlepages.com

Why Roberto doesn't answer my messages ? :)

I have a very little free time for HMG right now. Anyway I'm reading
and answering the bug area on this forum, almost daily, please use it.

Does HMG will be 'real' OOP some day in the future ?

Who knows :)

What about user contributions?

I've noticed about comments like "Roberto does not accept code contributions
anymore".

This is true, but need some clarification.

In 2005 I've decided to change the way I work on minigui.

From that moment I do all modifications to the library personally, but I still receiving comments, suggestions ideas and wishes from the users.

The reason for this, is that I want to keep the control of the code included in the library, to assure that it remains compact, fast, stable, reliable and backwards compatible, keeping and eye on general project goals (enumerated in the previous message).

This way, I'm not incorporating a 'black box' to the library that
could be difficult or impossible to fix or modify. I'm incorporating
code that is simple and easy to maintain.

I can make mistakes and write buggy code (of course) but there is a big possibility that I'm be able to fix it, since I've wrote it.

So, You can send to me (to HMG wish area on this forum) sample code with your proposed addition. I'll take a look at it.

What about other MiniGUI based projects... ?
Why do not all MiniGUIs guys unite and work together ?


I'll could add another question:

Why the humanity does not unite and work together? :)

Well... I appreciate and respect a lot to Grigory, Jacek and Janusz from MiniGUI Extended and to Ciro and Vicente from OOHG. All of them are doing a great work, but simply we have different opinions about of what MiniGUI has to be. Thats all.

This is very good for users, since they have three alternatives to choice.

I feel very honored because two new projects emerged from my original work.

Why do not add to library a nice widget that do something... ? it could be good for my application that needs it.

I could write now a long explanation about the need that the features added to the core library must be generic, designed to fill the needs of most common programming situations and not to solve a specific user's problem.

Fortunately you could get the Simpsons episode 7F16 :)

In this episode Homer designs a car to suit his own needs. Of course,
the car was a monstrosity very expensive and a complete failure.

Perhaps there is no need to watch the episode to get the idea, maybe that this image be enough:
Image

If the idea is not clear enough yet, here is a little explanation:

Adding lot of things, designed to suit specific (very unusual situations) to the library core, will give us a fat, slow, buggy and difficult to learn GUI system. I'll avoid it as much as I can.

Why do you don't release the HMG IDE source code?
Which are your obscure intentions about it?


IDE is a very big application. It has about 41000 lines of code.

To make it run faster it relies heavily on MiniGUI library internals and
some C code to cover low level things not implemented on the library.

Since it relies on library internals, sometimes, modifications to library, obligate to me to make changes (usually extensive) to IDE code.

IMHO these (and other things) turn this project into a personal one, not suitable to make its code public.

Anyway, I not discard the possibility to make the code public in the future.

I can only assure that IDE will always be FREELY DISTRIBUTED as freeware.

There is no evil intentions behind this decision :)

Maybe there is a problem (not fully specified) with control XXX
but I'm not sure. Can you fix it please?
My application is not working as expected. I've attached to the message all app 5000 lines of code. I guess that must be an HMG problem, please solve it.


Ok. I'll say once again :)

I cannot analyze a presunct bug based on a tale about it, or read a
thousand lines app to attempt to find it. It is very time consuming and inefficient way to go.

Please, send me a simple sample showing the bug, to HMGForum bug report area. The sample must include all necessary files to compile and run it.

If you are not able to reproduce the problem in a small sample, is highly probable that be not an HMG problem, but a error in your app.

Roberto.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

Post Reply