HMG OBJECTS... A New Project!
Moderator: Rathinagiri
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: HMG OBJECTS... A New Project!
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
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
- Roberto Lopez
- HMG Founder
- Posts: 4004
- Joined: Wed Jul 30, 2008 6:43 pm
Re: HMG OBJECTS... A New Project!
Ok. Pensaré en ello. / I'll think on that.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.
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.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.
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.
Muchas Gracias! / Thank you very much!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í.
Regards/Saludos,
Roberto
(Veritas Filia Temporis)
Roberto
(Veritas Filia Temporis)
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: HMG OBJECTS... A New Project!
Gracias a ti Roberto por tu dedicación y generosidad con nosotros.
ya estoy ansioso de ver la siguiente versión .....
Saludos cordiales,
Luis Vasquez.
ya estoy ansioso de ver la siguiente versión .....
Saludos cordiales,
Luis Vasquez.
Re: HMG OBJECTS... A New Project!
Roberto, HMG OOP será un proyecto aparte o cuando esté terminado se distribuirá junto con HMG.Roberto Lopez wrote:Hi All,
The second experimental release of HMG OOP has a new name: HMG OBJECTS.
......
Enjoy!
Quiero explicarme bien:
Podré usar tanto el código normal como el OOP como por ejemplo para definir una "ventana" usando solo HMG?
Saludos,
Saludos, Fernando Chirico.
- Roberto Lopez
- HMG Founder
- Posts: 4004
- Joined: Wed Jul 30, 2008 6:43 pm
Re: HMG OBJECTS... A New Project!
Si, HMG OBJECTS será un proyecto separado.fchirico wrote:Roberto, HMG OOP será un proyecto aparte o cuando esté terminado se distribuirá junto con HMG.Roberto Lopez wrote:Hi All,
The second experimental release of HMG OOP has a new name: HMG OBJECTS.
......
Enjoy!
Yes, HMG OBJECTS will be a separate project.
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.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?
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.
Regards/Saludos,
Roberto
(Veritas Filia Temporis)
Roberto
(Veritas Filia Temporis)
Re: HMG OBJECTS... A New Project!
Gracias por despejarme la duda.Roberto Lopez wrote: Si, HMG OBJECTS será un proyecto separado.
Yes, HMG OBJECTS will be a separate project.
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.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?
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.
Saludos, Fernando Chirico.
Re: HMG OBJECTS... A New Project!
Update / Latest release of HMG OBJECTS
BPD
Convert Dream into Reality through HMG
Convert Dream into Reality through HMG
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
HMG OBJECTS... A New Project!
Hi friend ! This is a question or requirement or what about it ?bpd2000 wrote:Update / Latest release of HMG OBJECTS
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...
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
- srvet_claudio
- Posts: 2193
- Joined: Thu Feb 25, 2010 8:43 pm
- Location: Uruguay
- Contact:
Re: HMG OBJECTS... A New Project!
Hi Pablo.Pablo César wrote:Hi friend ! This is a question or requirement or what about it ?bpd2000 wrote:Update / Latest release of HMG OBJECTS
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...
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.
-
- Posts: 245
- Joined: Sat Aug 02, 2008 5:03 pm
Re: HMG OBJECTS... A New Project!
Hi Claudiosrvet_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.
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.
Regards/Saludos, Carlos (bcd12a)