Page 4 of 5

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 2:30 am
by luisvasquezcl
Estimado Roberto,
Discrepo de tu punto de vista, ya que el comando release tiene como función destruir el objeto y no ocultarlo o hacer alguna otra cosa, para eso tiene su propio metodo.
Si vas a utilizar objetos, asignas valores a sus datas y ejecutas sus métodos esperas que al finalizar el control también elimines el objeto.
Hacer esto te permitirá mantener la elegancia y coherencia de tu libreria que es algo que te ha destacado.
Imaginate lo siguiente:

function Finalizar( oWnd, obtn1, obtn2, obtn3, obtn..... )
oBtn1:release()
obtn2:release()
obtn3:release()
obtn1:= nil
obtn2:= nil
. . . . . etc.
return
un tremendo código para algo tan simple; además, sería ideal que la ventana al liberarse eliminara todas las referencias a objetos contenidas, de esta forma tu indicarás oWindow:Release() y destruiras todos los objetos contenidos en la ventana.

Otra cosa, no sé si consideras que se siga utilizando la misma sintaxis que con HMG pero con objetos. Por ejemplo, para hacer referencia a un objeto por lo general se llama al igual que con hmg <window>:<Objeto>:Metodo : por ejemplo. oWindow:Button1:Release().
esta sintáxis es tambien importante para evitar tener que pasar una cantidad de objetos de una funcion o procedimiento a otro .... hay ventanas fáciles a lo menos 2 ó 3 controles, pero cuando son 20, 30 o más???, se hace inmanejable.

Son puntos de vista ... y algunos de los muchos problemas con los que me encontré cuando hacia MCL.

Dentro de todo, tu inicio es muy bueno, muy elegante como lo dije anteriormente, y espero que llegue a buen fin tal como lo has hecho con HMG. Y conociendo como eres, ya lo creo que será así.

Saludos cordiales,
Luis Vasquez

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 2:20 pm
by Roberto Lopez
luisvasquezcl wrote:Estimado Roberto,
Discrepo de tu punto de vista, ya que el comando release tiene como función destruir el objeto y no ocultarlo o hacer alguna otra cosa, para eso tiene su propio metodo.
Si vas a utilizar objetos, asignas valores a sus datas y ejecutas sus métodos esperas que al finalizar el control también elimines el objeto.
Hacer esto te permitirá mantener la elegancia y coherencia de tu libreria que es algo que te ha destacado.
Imaginate lo siguiente:

function Finalizar( oWnd, obtn1, obtn2, obtn3, obtn..... )
oBtn1:release()
obtn2:release()
obtn3:release()
obtn1:= nil
obtn2:= nil
. . . . . etc.
return
un tremendo código para algo tan simple; además, sería ideal que la ventana al liberarse eliminara todas las referencias a objetos contenidas, de esta forma tu indicarás oWindow:Release() y destruiras todos los objetos contenidos en la ventana.
Ok. Pensaré en ello. / I'll think on that.
luisvasquezcl wrote: Otra cosa, no sé si consideras que se siga utilizando la misma sintaxis que con HMG pero con objetos. Por ejemplo, para hacer referencia a un objeto por lo general se llama al igual que con hmg <window>:<Objeto>:Metodo : por ejemplo. oWindow:Button1:Release().
esta sintáxis es tambien importante para evitar tener que pasar una cantidad de objetos de una funcion o procedimiento a otro .... hay ventanas fáciles a lo menos 2 ó 3 controles, pero cuando son 20, 30 o más???, se hace inmanejable.
Ya está hecho y estará incluido en la próxima versión. Al crear cada control, se crea dinámicamente una variable de instancia con el mismo nombre, en su ventana, cuyo contenido es el mismo objeto.

It's already done. At creating each control, an instance variable on parent window object is created with the name of the control containing the control object.
luisvasquezcl wrote: Son puntos de vista ... y algunos de los muchos problemas con los que me encontré cuando hacia MCL.

Dentro de todo, tu inicio es muy bueno, muy elegante como lo dije anteriormente, y espero que llegue a buen fin tal como lo has hecho con HMG. Y conociendo como eres, ya lo creo que será así.
Muchas Gracias! / Thank you very much!

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 3:01 pm
by luisvasquezcl
Gracias a ti Roberto por tu dedicación y generosidad con nosotros.
ya estoy ansioso de ver la siguiente versión ..... :lol:
Saludos cordiales,
Luis Vasquez.

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 3:45 pm
by fchirico
Roberto Lopez wrote:Hi All,

The second experimental release of HMG OOP has a new name: HMG OBJECTS.

......

Enjoy!
Roberto, HMG OOP será un proyecto aparte o cuando esté terminado se distribuirá junto con HMG.

Quiero explicarme bien:
Podré usar tanto el código normal como el OOP como por ejemplo para definir una "ventana" usando solo HMG?

Saludos,

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 4:11 pm
by Roberto Lopez
fchirico wrote:
Roberto Lopez wrote:Hi All,

The second experimental release of HMG OOP has a new name: HMG OBJECTS.

......

Enjoy!
Roberto, HMG OOP será un proyecto aparte o cuando esté terminado se distribuirá junto con HMG.
Si, HMG OBJECTS será un proyecto separado.

Yes, HMG OBJECTS will be a separate project.
fchirico wrote: Quiero explicarme bien:
Podré usar tanto el código normal como el OOP como por ejemplo para definir una "ventana" usando solo HMG?
La idea es no mezclar el código semi-oop y el verdadero OOP en la misma aplicación. Esto sería posible, pero en mi humilde opinión sería confuso y no tendría demasiado sentido.

Tené en cuenta que HMG OOP soporta sintaxis xBase y alternativa para mantener las cosas sencillas.

The idea is not to mix sem-oop and true OOP in the same application. It is possible, but IMHO, confusing and non-sense.

Please, consider that HMG OOP support alternate syntax and xBase syntax to keep things easy.

Re: HMG OBJECTS... A New Project!

Posted: Fri May 07, 2010 4:21 pm
by fchirico
Roberto Lopez wrote: Si, HMG OBJECTS será un proyecto separado.

Yes, HMG OBJECTS will be a separate project.
fchirico wrote: Quiero explicarme bien:
Podré usar tanto el código normal como el OOP como por ejemplo para definir una "ventana" usando solo HMG?
La idea es no mezclar el código semi-oop y el verdadero OOP en la misma aplicación. Esto sería posible, pero en mi humilde opinión sería confuso y no tendría demasiado sentido.

Tené en cuenta que HMG OOP soporta sintaxis xBase y alternativa para mantener las cosas sencillas.

The idea is not to mix sem-oop and true OOP in the same application. It is possible, but IMHO, confusing and non-sense.

Please, consider that HMG OOP support alternate syntax and xBase syntax to keep things easy.
Gracias por despejarme la duda.

Re: HMG OBJECTS... A New Project!

Posted: Thu Jun 20, 2013 6:18 am
by bpd2000
Update / Latest release of HMG OBJECTS

HMG OBJECTS... A New Project!

Posted: Thu Jun 20, 2013 12:01 pm
by Pablo César
bpd2000 wrote:Update / Latest release of HMG OBJECTS
Hi friend ! This is a question or requirement or what about it ?

I know what this examples are for, I never have seen before. Interesting but I believe as Roberto said is separated project. Probably would it be included in SAMPLES but not intrinsic at main HMG project...

Re: HMG OBJECTS... A New Project!

Posted: Thu Jun 20, 2013 2:52 pm
by srvet_claudio
Pablo César wrote:
bpd2000 wrote:Update / Latest release of HMG OBJECTS
Hi friend ! This is a question or requirement or what about it ?

I know what this examples are for, I never have seen before. Interesting but I believe as Roberto said is separated project. Probably would it be included in SAMPLES but not intrinsic at main HMG project...
Hi Pablo.
HMG.4 is based on QT for the creation and management of controls and windows.
HMG.4 is a project (code) totally different of HMG.3.1.4.
IMHO I think the solution would be rewrite HMG.3.1.4 with object-oriented code, I have been long thinking about this, but is a very BIG work.
Best Regards,
Claudio.

Re: HMG OBJECTS... A New Project!

Posted: Thu Jun 20, 2013 5:00 pm
by Carlos Britos
srvet_claudio wrote: Hi Pablo.
HMG.4 is based on QT for the creation and management of controls and windows.
HMG.4 is a project (code) totally different of HMG.3.1.4.
IMHO I think the solution would be rewrite HMG.3.1.4 with object-oriented code, I have been long thinking about this, but is a very BIG work.
Best Regards,
Claudio.
Hi Claudio
I´ve been making some test (a very basic GUI lib) with oop code with a similar structure than hmg4 and the main problem is the backward compatibility. The difference between procedural and oop code make it very hard. That was IMHO the problem with hmg4.