Cambios HMG 2.x a 3.x No puedo compilar

HMG en Español

Moderator: Rathinagiri

angelper
Posts: 16
Joined: Sun Dec 19, 2010 9:46 pm
Location: Albacete (España)

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by angelper »

danielmaximiliano wrote:Angel:
es raro el error que envias ya que HMG3.0.38 utiliza Harbour 3.x esta es porcion del Changelog
Daniel, ya me daba por vencido porque he hecho mil pruebas y he ido quitando funciones, modulos etc... y nada no había forma de que fuese.

Y por fín lo último que he probado he añadido la siguiente función nula :

FUNC HB_SETCODEPAGE()
RETU

Y a funcionar todos mis programas, aparentemente bien y sin errores por el momento en lo que he probado.

No se que repercusión puede tener esto que he puesto, pero ya estoy contento y me compila correctamente. :lol:

A ver si tu o cualquier otro entendido podeis explicar el cometido y función que tiene HB_SETCODEPAGE y si puede causar algún problema al ponerla como he hecho, ya que ha sido la que me llegado a desanimar porque no había forma de que compilara ningún programa mio hecho con la versión anterior hmg 2.x.

Muchísimas gracias Danielmaximiliano, por toda tu ayuda y empeño en todas tus soluciones y comentarios. Te estoy muy agradecido. ;)

Angel.
angelper
Posts: 16
Joined: Sun Dec 19, 2010 9:46 pm
Location: Albacete (España)

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by angelper »

Rectifico mi post anterior. ¡¡ FUNCIONA PERO SE CUELGA LUEGO EL PROGRAMA !! :twisted:

Al rato de estar probando mi programa y previsualizando impresiones, llega un momento en que se cuelga toda la aplicación. Por lo que algo falla. Pero es que si no pongo esa función como he dicho nula, no hay forma de que compile mis anteriores aplicaciones.

Por lo menos creo que el problema esta en la dicha funcion HB_SETCODEPAGE.

Espero y agradezco sugerencias, gracias.

Angel.
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by danielmaximiliano »

Angel:
podrias enviar la parte principal de tu aplicacion, donde tienes asignados todos los SET
sino lee hmgdoc.htm que esta en C:\HMG3.0.38\DOC
busca la seccion SET LANGUAGE y SET CODEPAGE
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
angelper
Posts: 16
Joined: Sun Dec 19, 2010 9:46 pm
Location: Albacete (España)

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by angelper »

danielmaximiliano wrote:Angel:
podrias enviar la parte principal de tu aplicacion, donde tienes asignados todos los SET
sino lee hmgdoc.htm que esta en C:\HMG3.0.38\DOC
busca la seccion SET LANGUAGE y SET CODEPAGE
Hola Daniel, ya lo había hecho lo que tu me comentas, y efectivamente el problema parace ser que está localizado, está en el comando:
SET CODEPAGE TO SPANISH, que lo tenía puesto y lo he comentado y ya funciona bien, a excepción de que ahora cuando vas ha imprimir algo previsualizando y que lleve más de una página, cuando vuelvo a la ventana anterior me tira el error siguiente:

Code: Select all

Date:10-09-11 Time: 13:06:05
Error: HMG 3.0.37 (2011.06.20)
Non top modal windows can't be released. Program terminated
Called from _RELEASEWINDOW(3282)
Called from DOMETHOD(7383)
Called from (b)OJEARFICHAS(867)
Called from _DOCONTROLEVENTPROCEDURE(5268)
Called from EVENTS(1434)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(4933)
Called from DOMETHOD(7374)
Called from OJEARFICHAS(896)
Called from (b)MAIN(127)
Called from _DOCONTROLEVENTPROCEDURE(5268)
Called from EVENTS(1396)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(4933)
Called from DOMETHOD(7374)
Called from MAIN(178) 
Pero bueno será cuestión de localizar este error y subsanarlo de alguna forma.

Lo que está claro es que si pones el comando SET CODEPAGE TO SPANISH o otro idioma en cualquiera de los ejemplos que hay en samples, tampoco compila bien. Les agradecería que lo probasen cualquiera de ustedes en alguna de sus aplicaciones.

De nuevo agradecido Daniel.
Vamos a ver si damos con el fallo definitivo ;)
Saludos. Angel
User avatar
mustafa
Posts: 1158
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Contact:

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by mustafa »

Hola angelper
mira haber si con esto te punciona
ponlo al principio del prg principal

Function Main()

REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN
HB_CDPSELECT('ESWIN')
HB_LANGSELECT('ESWIN')

REQUEST DBFCDX , DBFFPT
RDDSETDEFAULT( "DBFCDX" )

Tambien mira este Post : http://hmgforum.com/viewtopic.php?f=24&t=1295

Un Saludo
Mustafa :mrgreen:
angelper
Posts: 16
Joined: Sun Dec 19, 2010 9:46 pm
Location: Albacete (España)

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by angelper »

mustafa wrote:Hola angelper
mira haber si con esto te punciona
ponlo al principio del prg principal

Function Main()

REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN
HB_CDPSELECT('ESWIN')
HB_LANGSELECT('ESWIN')

REQUEST DBFCDX , DBFFPT
RDDSETDEFAULT( "DBFCDX" )

Tambien mira este Post : http://hmgforum.com/viewtopic.php?f=24&t=1295

Un Saludo
Mustafa :mrgreen:
Muchas gracias mustafa, pero tampoco funciona.
Lo que parece ser que está claro es que el comando SET CODEPAGE TO no se puede utilizar ahora :( o hay alguna otra forma de utilizarlo ? - A alguno de ustedes les funciona bien dicho comando en esta última versión ?

Puede tener algo que ver la clase Browse que utilizo de antes y ahora ya no hay ejemplos de la misma en la última versión de HMG ?

De nuevo gracias mustafa.
Angel.
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by danielmaximiliano »

Angel:
Mustafa esta en lo cierto, funciona. yo he probado el ejemplo
C:\HMG3.0.38\SAMPLES\ACTIVEX.1\Demo1.prg

Code: Select all

/*
 * HMG - Harbour Win32 GUI library Demo
 *
 * Copyright 2002-2008 Roberto Lopez <mail.box.hmg@gmail.com>
 * http://sites.google.com/site/hmgweb/
 * Activex Sample: Inspired by Freewin Activex inplementation by 
 * Oscar Joel Lira Lira (http://sourceforge.net/projects/freewin).
*/

#include "hmg.ch"

FUNCTION Main()
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN
HB_CDPSELECT('ESWIN')
HB_LANGSELECT('ESWIN') 
	DEFINE WINDOW Win1 ;
pero si uso SET LANGUAGE TO SPANISH
y SET CODEPAGE TO SPANISH me da el siguiente error
Harbour 3.0.0 (Rev. 16951)
Copyright (c) 1999-2011, http://harbour-project.org/
C:/DOCUME~1/DANIEL~2/CONFIG~1/Temp/hbmk_iq2awc.dir/demo1.o:demo1.c:(.data+0x68): undefined reference to `HB_FUN_HB_SETCODEPAGE'
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
gcc.exe C:/DOCUME~1/DANIEL~2/CONFIG~1/Temp/hbmk_iq2awc.dir/demo1.o C:/DOCUME~1/DANIEL~2/CONFIG~1/Temp/hbmk_iq2awc.dir/hbmk_1w0zfr.o D:/ACTIVEX.11/_temp.o -mwindows -Wl,--start-group -lhmg -lcrypt -ledit -leditex -lgraph -lhfcl -lini -lreport -lmsvfw32 -lvfw32 -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbmysql -lmysql -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbfimage -lhbpgsql -lhbnetio -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -odemo1.exe -LC:/HMG3.0.38/harbour/lib/win/mingw -LC:/HMG3.0.38/harbour/bin -LC:/HMG3.0.38/lib
a pesar de mirar i_lang.ch en C:\HMG3.0.38\INCLUDE

Code: Select all

#translate SET LANGUAGE TO SPANISH		=>  _HMG_SYSDATA \[ 211 \] := '  ' ; REQUEST HB_LANG_ES		; HB_LANGSELECT( "ES" )		; InitMessages()
#translate SET CODEPAGE TO SPANISH		=>  REQUEST HB_CODEPAGE_ESWIN ; hb_setcodepage("ESWIN")
esta correcto
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by Carlos Britos »

danielmaximiliano wrote: C:/DOCUME~1/DANIEL~2/CONFIG~1/Temp/hbmk_iq2awc.dir/demo1.o:demo1.c:(.data+0x68): undefined reference to `HB_FUN_HB_SETCODEPAGE'
Hola
Intenta con hb_cdpSelect() en lugar de hb_setcodepage()
Regards/Saludos, Carlos (bcd12a)
angelper
Posts: 16
Joined: Sun Dec 19, 2010 9:46 pm
Location: Albacete (España)

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by angelper »

Carlos Britos wrote:
danielmaximiliano wrote: Hola
Intenta con hb_cdpSelect() en lugar de hb_setcodepage()
Hola Carlos, he hecho lo que dices y ahora si que funciona SET CODEPAGE TO SPANISH.

He modificado el archivo del raiz de HMG, INCLUDES\i_lang.CH y lo he dejado así en la línea referente al código en Español

Code: Select all

/* #translate SET CODEPAGE TO SPANISH		=>  REQUEST HB_CODEPAGE_ESWIN ; hb_setcodepage("ESWIN") */
#translate SET CODEPAGE TO SPANISH		=>  REQUEST HB_CODEPAGE_ESWIN ; hb_cdpSelect("ESWIN")
Y de momento todo funciona bien, no quierlo lanzar las campanas al vuelo, por si acaso luego se me cuelga como a dije anteriormente ;) pero parece ser que como digo ahora compila correctamente.

Por otra parte quisiera saber que ocurre si omitimos el SET CODEPAGE TO. Es realmente necesario ? cual es su función específica ?

Ya que he compilado omitiendo esta directiva y aparentemente no noto nada.

Muchas gracias Carlos por tu colaboración, espero que les sea de utilidad a otros usuarios que hayan tenído este problema.

Saludos.
Angel.
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Cambios HMG 2.x a 3.x No puedo compilar

Post by danielmaximiliano »

Angel:
mira este pedazo de codigo:

Code: Select all

Codepage
-----------------------------------
The harbour basic function for  queries and optionally changes the current code page used for character strings
HB_SetCodePage( [<cCodePageID>] ) 


REQUEST HB_LANG_ES
REQUEST HB_CODEPAGE_ES850C

PROCEDURE MAIN ()
  HB_SETCODEPAGE('ES850C')
  HB_LANGSELECT('ES')
  string="àèéìùç"  aa 
 ? "test"+string
 a=inkey(0)
 return
Utliza el mismo para un ejemplo. ("mejor una clase practica para reforzar conocimiento ")
despues borra REQUEST y HB_xxx y prueba de nuevo.
SET Lang es para los mensajes de sistema en tu lengua
SET Codepage es para tipo de teclado [url]http://harbourlanguage.blogspot.co ... epage.html[/url]
SET EPOCH para la fecha de comeinzo de epoca EJ: 1980 http://www.harbour-project.org/doc/setepoch.htm
SET DATE para formato de fecha en tu sistema http://www.harbour-project.org/doc/setdate.htm
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Post Reply