HMG 3.2 (Stable)

HMG Unicode versions 3.1.x related

Moderator: Rathinagiri

User avatar
srvet_claudio
Posts: 1943
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 30 times
Been thanked: 116 times
Contact:

Re: HMG 3.2 (Stable)

Post by srvet_claudio » Sat Apr 26, 2014 2:27 am

srvet_claudio wrote:
mol wrote:Another problem I found, becomes when you define panel window on modal window. Modal window has declared virtual width and height.
When you scrolling modal window, panel window stays still in the same place on screen.
Panel window coordinates (row,col) are independend from its parent window. In my opinion, it's wrong.
See attached sample
Yes, you're right, also occurs with other types of windows besides the modal.
I will try to fix it.
I fixed!
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

Javier Tovar
Posts: 1274
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México
Has thanked: 1 time
Been thanked: 2 times

Post by Javier Tovar » Sat Apr 26, 2014 2:51 am

Gracias Dr. Claudio Soto por su participación en HMG, y tener la disponibilidad de solucionar lo que se va encontrando que funciona mal!

Un cordial saludo :D :D :D

User avatar
Pablo César
Posts: 4058
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil
Has thanked: 100 times
Been thanked: 177 times

Post by Pablo César » Fri May 02, 2014 5:14 pm

Buenas, Claudio.

Vengo encontrando dificuldades en 4 componentes cuando intento ejecutarlos, sea através de:

RUN Harbour.exe... ou por hb_compileFromBuf...

Es decir, usando archivos .hrb ( aqui algun concepto de intermediatory compiled Harbour code ) .

Pensé que era alguna configuracion que yo no estaba funcionando en FMG_Editor (clique para ver relatos). Entonces hice otros ejemplos para aislar posibilidades. Y siempre me encuentro con este problema:

Image

Solo que esto ocurre con HMG en Minigui no pasa esto. Como poderá ver, menciona algo sobre EVENTS(1639) y _DOCONTROLEVENTPROCEDURE(5625) entonces se me prendió la lamparita y imaginé que esto podria ser um problema sobre EVENTos.

Anexo aqui dos ejemplos. Uno es generando un código en forma de PRG (un script en archivo) y ejecutandolo por Harbour (esto funciona bien en Minigui, como dije). Y el otro es casi el mismo pero con la diferencia que no genera ningun script, apenas utiliza el MISMO código que fué generado (el mismo PRG). Este Demo2, funciona perfectamente pero el Demo1 es que persiste el problema.

Yo sé que estás muy ocupado, pero me gustaria que le dieras una mirada a ese error que me parece que en algun lugar no fueron incluídos los componentes en estas funciones que aparecen el error:

_DEFINELISTBOX
_DEFINESLIDER
_DEFINEMONTHCAL
_DEFINEIPADDRESS


Lamento te dar trabajo, pero ahorita mismo vi que en Minigui no sucede todo esto.

Disponibilizé los archivos ejecutables para mostrar en prática lo que me sucede y los archivos para que vos mismo quieras hacer el testeo.

Aguardo tu respuesta.

Un abrazo,

P.D.: Intenté incluir los archivos prg através del #Include y e dá lo mismo.
Attachments
Demo2.rar
(847.7 KiB) Downloaded 85 times
Demo1.rar
(850.91 KiB) Downloaded 84 times
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein

User avatar
srvet_claudio
Posts: 1943
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 30 times
Been thanked: 116 times
Contact:

Post by srvet_claudio » Sat May 03, 2014 3:12 am

Pablo César wrote:Solo que esto ocurre con HMG en Minigui no pasa esto. Como poderá ver, menciona algo sobre EVENTS(1639) y _DOCONTROLEVENTPROCEDURE(5625) entonces se me prendió la lamparita y imaginé que esto podria ser um problema sobre EVENTos.
Hola Pablo,
el problema no son los eventos, esos mensajes ( EVENTS(1639), _DOCONTROLEVENTPROCEDURE(5625) ) son normales, se producen porque se ejecutan cada vez que precionas una tecla o haces click con el mouse, en este caso especifico se produce porque haces click en el boton del "run script", la función que da error es siempre la primera de la fila, el resto es una lista de las funciones que van siendo llamadas antes, en este caso es hb_hrbload() la del error.

El problema es que las funciones _DefineListbox, etc. se están comportando como si fuesen de enlace dinámico (no se porqué), hay que llamarlas directamente en el código para obligar a que el compilador las enlace.

Por ejemplo:

Code: Select all

#include <hmg.ch>

PROCEDURE Main

DEFINE WINDOW Win_Main ;
    AT 0,0 ;
    WIDTH 600 ;
    HEIGHT 400 ;
    TITLE 'Test program' ;
    MAIN
    
    DEFINE STATUSBAR ;
        FONT 'Times New Roman' SIZE 12
        STATUSITEM ''
    END STATUSBAR
    
    @10,10 BUTTON Btn_1 ;
        CAPTION 'Run Script' ;
        WIDTH 200 ;
        HEIGHT 25 ;
        ONCLICK RunScript()

DEFINE LISTBOX ListBox_Fantasma
VISIBLE .F.
END LISTBOX

END WINDOW
Win_Main.StatusBar.Item(1) := 'HMG Power Ready'
CENTER WINDOW Win_Main
ACTIVATE WINDOW Win_Main
RETURN

PROCEDURE RunScript
local CONTENT, HANDLE_HRB, PRG, HRBCODE


PRG := ;
"#include <hmg.ch>" + hb_eol() + ;
"proc p()" + hb_eol() + ;
" DEFINE WINDOW Win_Teste;" + hb_eol() + ;
" AT 0,0 ;" + hb_eol() + ;
" WIDTH 250 ;" + hb_eol() + ;
" HEIGHT 280 ;" + hb_eol() + ;
" TITLE 'Test program' CHILD NOMAXIMIZE" + hb_eol() + hb_eol() +;
"DEFINE LISTBOX List_1" + hb_eol() + ;
"    ROW    90" + hb_eol() + ;
"    COL    120" + hb_eol() + ;
"    WIDTH  80" + hb_eol() + ;
"    HEIGHT 80" + hb_eol() + ;
'    ITEMS {"TESTE1","TESTE2","TESTE3"}' + hb_eol() + ;
"    VALUE 1" + hb_eol() + ;
'    FONTNAME "Arial"' + hb_eol() + ;
"    FONTSIZE 9" + hb_eol() + ;
"END LISTBOX" + hb_eol() + hb_eol() + ;
" END WINDOW" + hb_eol() + ;
" ACTIVATE WINDOW Win_Teste" + hb_eol() + ;
"Return Nil"

hb_memowrit( "testeprg.prg", PRG )

msgstop( "Vou gerar o .HRB" )

RUN( "C:\HMG.3.2\harbour\bin\harbour.exe /gH /m /n /iC:\HMG.3.2\include /iC:\HMG.3.2\harbour\include testeprg" )

msgstop( "Vou executar" )

HANDLE_HRB := hb_hrbload( memoread( "testeprg.hrb" ) )

hb_hrbDo( HANDLE_HRB )

hb_hrbunload( HANDLE_HRB )

RETURN
No se porque pero a veces Harbour o MinGW da ese tipo de problemas con el enlace de funciones y con la inclusión de archivos.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

User avatar
Pablo César
Posts: 4058
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil
Has thanked: 100 times
Been thanked: 177 times

Post by Pablo César » Sat May 03, 2014 6:31 am

Gracias Claudio por tus explicaciones, por tu gentileza de siempre y por tu inmenso conocimiento.
El problema es que las funciones _DefineListbox, etc. se están comportando como si fuesen de enlace dinámico (no se porqué), hay que llamarlas directamente en el código para obligar a que el compilador las enlace.
Asi es. Tampoco descubri lo que puede ser. La diferencia es que Minigui Extended utiliza Harbour para BCC y esto no pasa.

Colocando los 4 componentes fantasmas, los abre si problemas. Que vamos hacer...
No se porque pero a veces Harbour o MinGW da ese tipo de problemas con el enlace de funciones y con la inclusión de archivos.
Si, uno de estos dos debe ser el origen del problema. Me hé desgastado terriblemente, buscando una salida a este problema en estos 3 dias... peor que si no encontraba una solucion, mismo que sea provisional al menos puedo asegurarme que eses componentes irán a cargar.

Muchas gracias nuevamente Claudio. Sos un genio !
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein

User avatar
srvet_claudio
Posts: 1943
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 30 times
Been thanked: 116 times
Contact:

Post by srvet_claudio » Sat May 03, 2014 1:20 pm

Pablo César wrote:Colocando los 4 componentes fantasmas, los abre si problemas.
Pablo,
no es necesario llamar los componentes en tus funciones como en el ejemplo anterior, basta definirlos en una rutina que nunca es llamada para forzar al compilador que las enlace, ej:

Code: Select all

PROCEDURE FANTASMA
   DEFINE LISTBOX ListBox_Fantasma
   END LISTBOX
RETURN
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

User avatar
Pablo César
Posts: 4058
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil
Has thanked: 100 times
Been thanked: 177 times

Post by Pablo César » Sat May 03, 2014 2:27 pm

srvet_claudio wrote:no es necesario llamar los componentes en tus funciones como en el ejemplo anterior, basta definirlos en una rutina que nunca es llamada para forzar al compilador que las enlace
Que bueno !!! Los 4 componentes los defini como fantasmas y los coloqué en una funcion que nunca es llamada. Tenés razón, apenas para el compilador incluirlas. Bárbaro !

Muchas, muchas gracias amigo Claudio.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein

Post Reply