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)

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

Post by angelper »

Hola a todos estaba utilizando HMG la versión 2.9.4, y me he actualizado a la versión 3.0.36, y ahora no puedo compilar ninguna de mis aplicaciones anteriores. Es que han cambiado muchas funciones :?:

Me pueden ayudar y decirme que tengo que hacer para usar esta nueva versión ;)

Aquí les pongo el error log que me pone en una de las aplicaciones
Date:06-09-11 Time: 13:52:34
Error TOleAuto/-1 CO_E_CLASSSTRING: TOLEAUTO:NEW

Called from THROW(77)
Called from TOLEAUTO:NEW(245)
Called from HMG_ZIPFILE(4794)
Called from CREATEZIP(309)
Called from (b)COPIASEG(255)
Called from _PROCESSINITPROCEDURE(4183)
Called from _ACTIVATEWINDOW(4008)
Called from DOMETHOD(4021)
Called from COPIASEG(272)
Called from (b)MAIN(135)
Called from _DOCONTROLEVENTPROCEDURE(4344)
Called from EVENTS(1218)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(4033)
Called from DOMETHOD(4021)
Called from MAIN(178)
Espero que alguno de ustedes pueda ayudarme.
Muchas gracias.

Angel
User avatar
danielmaximiliano
Posts: 2611
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 »

Hola Angel:
La ultima version es la 3.0.38 la puedes descargar desde el sitio site/index.php?option=com_phocadownload ... 8&Itemid=2


con respecto al tu error te envio al siguiente Link que trata sobre ese tema
http://hmgforum.com/viewtopic.php?f=5&t ... uto#p17435
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. 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:Hola Angel:
La ultima version es la 3.0.38 la puedes descargar desde el sitio site/index.php?option=com_phocadownload ... 8&Itemid=2


con respecto al tu error te envio al siguiente Link que trata sobre ese tema
http://hmgforum.com/viewtopic.php?f=5&t ... uto#p17435
Hola Daniel, muchas gracias por tu rápida respuesta.

Pero nada, no hay forma de que pueda compilar, me siguen saliendo errores. Y me he bajado la última versión la 3.0.38, pero me pasa igual que la anterior. :(

Lo estaré haciendo mal, pero esto es lo que he hecho:

He creado hbole.prg con todo el código que puso gfilatov en el enlace
http://hmgforum.com/viewtopic.php?f=5&t ... uto#p17435
que me indicas.

Luego he añadido al principio del hbwinole.h también todo el código que indica gfilatov

Y he añadido al final de mi programa principal:

#include “hbole.prg”

Y me da errores y no compila nada. Agradeceré cualquier ayuda para poder utilizar las últimas versiones de HMG.
También de da error hbmk2: Errror : Running linker .1

No uso el IDE, hago todos los prg de forma manual como al principio y simplemente pongo:
build miprograma o en la versión antigua : compile miprograma

Sin embargo si utilizo cualquiera de los ejemplos (SAMPLES/PEDIDOS) y ejecuto build demo , todo lo hace perfecto . ¡¡ QUE ESTOY HACIENDO MAL !! :evil:

Sé que el problema es mío, a ver si me podéis ayudar. :roll:

Gracias a todos.
Angel.
User avatar
danielmaximiliano
Posts: 2611
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 »

Hola Angel:
Puedes publicar parte de tu codigo, de esa forma poder ayudarte mejor con lo que necesitas.
no tengo nada que use HBwin (OLE) en mis aplicaciones.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. 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:Hola Angel:
Puedes publicar parte de tu codigo, de esa forma poder ayudarte mejor con lo que necesitas.
no tengo nada que use HBwin (OLE) en mis aplicaciones.
Gracias de nuevo Daniel. Aquí te pongo todo un prg de los que utilizo con varias funciones y que en las versiones 2.x me compilaba todo bien. Seguro que encuentras algún fallo de algo que ahora no es compatible o tengo que cambiar la síntaxis.

Code: Select all

/* ---------------------------------------------------------------------------- */
Procedure Apuntes(nOp)
                      
Local nNum, nImp
                      
SELEC APUNTES
                      
 nNum := LASTREC() + 1

DEFINE WINDOW APUNTES AT 274 , 382 WIDTH 775 HEIGHT 200 TITLE "Libreta - Entrada de Apuntes" ICON 'ESCANDA' ;
		      MODAL NOSIZE

ON KEY ESCAPE OF APUNTES ACTION APUNTES.Release
ON KEY F1 OF APUNTES ACTION AYUDA(31)


nImp := 0

    DEFINE LABEL Label_1
        ROW    20
        COL    20
        WIDTH  60
        HEIGHT 20
        VALUE "Apunte Nº:"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""

    END LABEL

    DEFINE TEXTBOX APUNTES_NUMERO
        ROW    10
        COL    90
        WIDTH  120
        HEIGHT 24
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .T.
        RIGHTALIGN .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        INPUTMASK "999,999"
        FORMAT Nil
        VALUE nNum
        NUMERIC .T.
    END TEXTBOX

    DEFINE LABEL Label_2
        ROW    20
        COL    290
        WIDTH  50
        HEIGHT 20
        VALUE "Cliente :"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""

    END LABEL

    DEFINE COMBOBOX APUNTES_CLIENTE
        ROW    10
        COL    350
        WIDTH  390
        HEIGHT 240
      //  VALUE 0
        ITEMSOURCE  CLIENTES->NOMBRE
        VALUESOURCE  CLIENTES->NOMBRE
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        SORT .F.
        ONENTER Nil
        ONDISPLAYCHANGE Nil
        DISPLAYEDIT .F.
    END COMBOBOX

    DEFINE LABEL Label_3
        ROW    70
        COL    40
        WIDTH  40
        HEIGHT 20
        VALUE "Fecha :"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""

    END LABEL

    DEFINE DATEPICKER APUNTES_FECHA
        ROW    90
        COL    20
        WIDTH  110
        HEIGHT 30
        VALUE CTOD("  /  /  ")
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        SHOWNONE .F.
        UPDOWN .F.
        RIGHTALIGN .F.
    END DATEPICKER

    DEFINE LABEL Label_4
        ROW    70
        COL    270
        WIDTH  60
        HEIGHT 20
        VALUE "Concepto :"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""

    END LABEL

    DEFINE TEXTBOX APUNTES_CONCEPTO
        ROW    90
        COL    140
        WIDTH  450
        HEIGHT 30
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .F.
        RIGHTALIGN .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        MAXLENGTH 40
        //INPUTMASK ""
        FORMAT Nil
        VALUE ""
    END TEXTBOX

    DEFINE LABEL Label_5
        ROW    70
        COL    640
        WIDTH  50
        HEIGHT 20
        VALUE "Importe :"
        FONTNAME "Arial"
        FONTSIZE 9

    END LABEL

    DEFINE TEXTBOX APUNTES_IMPORTE
        ROW    90
        COL    610
        WIDTH  130
        HEIGHT 30
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .F.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .F.
        RIGHTALIGN .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        INPUTMASK "9,999,999.99"
        FORMAT Nil
        VALUE nImp
        NUMERIC .T.
    END TEXTBOX

    DEFINE BUTTON Button_1
        ROW    130
        COL    580
        WIDTH  64
        HEIGHT 25
        ACTION ( AgregaApunte (APUNTES.APUNTES_NUMERO.value,APUNTES.APUNTES_FECHA.value,APUNTES.APUNTES_CLIENTE.value , APUNTES.APUNTES_CONCEPTO.value,APUNTES.APUNTES_IMPORTE.value) ,APUNTES.APUNTES_CONCEPTO.Setfocus )
        PICTURE "anadir"
        TOOLTIP "Añadir el apunte actual"

    END BUTTON

    DEFINE BUTTON Button_2
        ROW    130
        COL    680
        WIDTH  64
        HEIGHT 25
        ACTION      ThisWindow.Release
        PICTURE "salir"
        TOOLTIP "Salir y regresar al menú principal"

    END BUTTON


                 

END WINDOW

APUNTES.Center
APUNTES.Activate

ACTUALIZA()

*------------------------------------------------------------------------------*
*------		Grabamos en la base de datos el nuevo Cliente	-------*
PROCEDURE AgregaApunte (nNum, dFec ,	cCli , cCon ,nImp  )
*------------------------------------------------------------------------------*
Local lHay , nRec


          IF cCon == ""
             MSGINFO("No ha introducido ningún Concepto"+CHR(13)+"Por favor vuelva a intentarlo","Añadir Apuntes")
             Retu Nil
          ENDIF
                 
                SELEC CLIENTES
                SET INDEX TO DATEN\CLINOM

             IF EMPTY(cCli) .OR.   DBSEEK(upper(alltrim(cCli))) == .F.
			MsgInfo("Ese Cliente No Existe","Añadir Apunte")


                	SELEC APUNTES

			 MSGINFO(cCli,"Nombre del Cliente")


			Retu .F.
	     Endif

		If flock()


                      cNumero := ALLTRIM(STR(CLIENTES->NUMERO))
                      nRec := RECNO()
                
		      SELEC CUENTAS
		      SET INDEX TO DATEN\CUENCLI
                

		      DBGOTOP()
		      lHay := .F.
		      WHILE !EOF()

		       IF VAL(CUENTAS->CLIENTE) == CLIENTES->NUMERO

		          lHay := .T.
		          EXIT
		
		       ENDIF
		      DBSKIP()
		      ENDDO
                                
                      IF lHay == .F.
			 SET INDEX TO DATEN\CUENTA1
                         //MSGINFO("Cliente SIN Extracto","Nombre del Cliente")
                         DBGOBOTTOM()
                        // cCuenta := VAL(CUENTAS->CUENTA)+1
                         cCuenta := LASTREC()+1
                         DBAPPEND()
                         CUENTAS->CUENTA := ALLTRIM(STR(cCuenta))
                         CUENTAS->CLIENTE := cNumero
                         SET INDEX TO DATEN\CUENCLI
                         REINDEX

                      ENDIF
			SET INDEX TO DATEN\CUENTA1
                        REINDEX

                        SELEC APUNTES
			Append Blank

			APUNTES->FECHA       := dFec
			APUNTES->NUMCLIENT   := CLIENTES->NUMERO
			APUNTES->CONCEPTO    := cCon
			APUNTES->IMPORTE     := nImp
                
			REINDEX

			SELEC CLIENTES
			DBSEEK(upper(alltrim(cCli)))
			CLIENTES->SALDO += nImp
                        SET INDEX TO DATEN\CLINUM
                
			MSGINFO("Apunte Grabado.","Grabar Nuevo Apunte")

                
                        APUNTESLEE(nNum, dFec ,	cCli , cCon ,nImp)

                        SELEC APUNTES

                                
	   		Retu

		Else

			MsgStop ('Operacion Cancelada: El Archivo esta siendo actualizado por otro usuario. Reintente mas tarde')
                        Retu .F.

		EndIf
Retu




*------------------------------------------------------------------------------*
PROCEDURE OjearApuntes()	// Browse de la base de datos de Apuntes
*------------------------------------------------------------------------------*

Local nSaldo :=0


SELEC APUNTES
SET INDEX TO DATEN\APUNFEC
DBGOTOP()
WHILE .NOT. EOF()
nSaldo += APUNTES->IMPORTE
DBSKIP()
ENDDO

DBGOTOP()

DEFINE WINDOW BROWAPUNTES AT 182 , 307 ;
              WIDTH 784 HEIGHT 485 ;
              TITLE "Gestión de la Base de Datos de Apuntes" ;
              ICON 'ESCANDA' ;
              MODAL NOSIZE

ON KEY F1 OF BROWAPUNTES ACTION AYUDA(32)

    DEFINE BROWSE Browse_1
        ROW    20
        COL    10
        WIDTH  760
        HEIGHT 390
        VALUE 0
        WIDTHS {50,75,200,300,100}
        HEADERS { 'Nº Apt.','Fecha','Cliente','Concepto','Importe' }
        WORKAREA APUNTES

        FIELDS {'RECNO()','APUNTES->FECHA','PONNOMBRE(APUNTES->NUMCLIENT)','APUNTES->CONCEPTO','APUNTES->IMPORTE'}
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE NIL
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .t.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONDBLCLICK Nil
        ALLOWEDIT .T.
        ALLOWAPPEND .F.
        ONHEADCLICK Nil
        ALLOWDELETE .F.
        HELPID Nil
        VALID Nil
        VALIDMESSAGES Nil
        LOCK .T.
        VSCROLLBAR .T.

        FONTCOLOR Nil
        IMAGE Nil
        JUSTIFY { BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER, BROWSE_JTFY_LEFT, BROWSE_JTFY_LEFT,BROWSE_JTFY_RIGHT }
        NOLINES .F.
        READONLYFIELDS {.T.,.F.,.T.,.F.,.F.}
        INPLACEEDIT .F.
        VALUE APUNTES->(RECNO())
        DYNAMICBACKCOLOR { { || if ( recno() <> -10 , RGB (255,255,0) , RGB (0,255,0) ) } ,  { || if ( recno() <> -10 , RGB (70,255,13) , RGB (0,255,0) ) }     , { || if ( recno() <> -10 , RGB (4,255,255) , RGB (255,0,0) ) } , { || if ( recno() <> -10 , RGB (255,136,17) , RGB (0,255,0) ) }       ,  }
        INPUTMASK { '',  '' , '' ,'', '999,999,999.99 €'  }

    END BROWSE


DEFINE LABEL ETIQUETASALDO
        ROW    420
        COL    50
        WIDTH  250
        HEIGHT 20
        VALUE "El saldo actual de todos los clientes es:"
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""

    END LABEL


DEFINE TEXTBOX SALDO
        ROW    420
        COL    300
        WIDTH  120
        HEIGHT 24
        FONTNAME "Arial"
        FONTSIZE 9
        TOOLTIP ""
        ONCHANGE Nil
        ONGOTFOCUS Nil
        ONLOSTFOCUS Nil
        FONTBOLD .T.
        FONTITALIC .F.
        FONTUNDERLINE .F.
        FONTSTRIKEOUT .F.
        ONENTER Nil
        HELPID Nil
        TABSTOP .T.
        VISIBLE .T.
        READONLY .T.
        RIGHTALIGN .F.
        BACKCOLOR Nil
        FONTCOLOR Nil
        INPUTMASK "9,999,999.99 €"
        FORMAT Nil
        VALUE nSaldo
        NUMERIC .T.
    END TEXTBOX

	DEFINE BUTTON Button_4
        ROW    420
        COL    430
        WIDTH  64
        HEIGHT 25
        ACTION ((Thiswindow.Release),(OjearApuntes()))
        PICTURE "actualizar"
        TOOLTIP "Si modifica algún importe, pulse aquí para actualizar los totales."
    END BUTTON

        DEFINE BUTTON Button_5
        ROW    420
        COL    520
        WIDTH  64
        HEIGHT 25
        PICTURE "eliminar"
        ACTION If (  BrowApuntes.Browse_1.Value  <> 0, (BorrarApunte(BrowApuntes.Browse_1.Value) , (Thiswindow.Release),(OjearApuntes())  ) , MsgInfo("Seleccione un apunte de la lista") )
        TOOLTIP "Elimina el apunte que hay seleccionado."
    END BUTTON


SELEC CLIENTES
SET ORDER TO 2

    DEFINE BUTTON Button_3
        ROW    420
        COL    650
        WIDTH  64
        HEIGHT 25
        ACTION Thiswindow.Release
        PICTURE "salir"
        TOOLTIP "Cierra esta ventana y regresa al Menú Principal"
    END BUTTON

END WINDOW

	BrowAPUNTES.Center()

	BrowAPUNTES.Activate()

ACTUALIZA()

Retu Nil

/* --------------------------------------------------- */

FUNCTION PONNOMBRE(nCliente)
Local cNomb

SELEC CLIENTES
SET INDEX TO DATEN\CLINUM

DBSEEK(nCliente)

cNomb := CLIENTES->NOMBRE

SELEC APUNTES

Retu cNomb

//*****************************************************************************************************
FUNCTION ACTUALIZA()
//*****************************************************************************************************
Local nCli, nSalClien

DBCLOSEALL()
AbrirBasesDeDatos()

RegeneraExtractos()


SELEC CLIENTES
SET INDEX TO DATEN\CLINUM

DBGOTOP()

WHILE !EOF()
CLIENTES->SALDO := 0
DBSKIP()
ENDDO
DBGOTOP()

SELEC APUNTES
SET INDEX TO DATEN\APUNCLI

DBGOTOP()

WHILE .NOT. EOF()

    nCli := APUNTES->NUMCLIENT
    nSalClien := 0
      WHILE APUNTES->NUMCLIENT == nCli
    	nSalClien += APUNTES->IMPORTE
        DBSKIP()
      ENDDO
      SELEC CLIENTES
      DBSEEK(nCli)
      CLIENTES->SALDO := nSalClien
      SELEC APUNTES

ENDDO


Retu Nil

//************************************

FUNCTION BorrarApunte(nReg)

SELEC APUNTES
DBGOTO(nReg)

If MsgYesNo ( 'Esta Seguro de Eliminar el Apunte Nº: '+ALLTRIM(STR(RECNO()))+CHR(13);
               + "Del Cliente: "+PONNOMBRE(APUNTES->NUMCLIENT)+CHR(13)+"Concepto: "+ALLTRIM(APUNTES->CONCEPTO)+CHR(13)+"De Importe de: " + ALLTRIM(STR(APUNTES->IMPORTE));
               +" €" , 'Eliminar Apuntes' )


	DBDELETE()
	PACK
	REINDEX

        MsgInfo("Ha sido borrado el apunte Nº " + ALLTRIM(STR(nReg)),"Borrado de Apuntes" )

ENDIF

Retu NIl

FUNCTION APUNTESLEE(nNum, dFec , cCli , cCon ,nImp, nReg)

         APUNTES.APUNTES_NUMERO.value := nNum+1
         APUNTES.APUNTES_FECHA.value  := dFec

           APUNTES.APUNTES_CLIENTE.Refresh
           LOCATE FOR CLIENTES->NOMBRE == cCli
           APUNTES.APUNTES_CLIENTE.value := RECNO()

         APUNTES.APUNTES_CONCEPTO.value := SPACE(40)
         APUNTES.APUNTES_IMPORTE.value := 0



Return Nil
Agradecido.
Angel.
Last edited by angelper on Mon Sep 12, 2011 8:52 pm, edited 1 time in total.
User avatar
danielmaximiliano
Posts: 2611
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:
una pregunta....¿ donde esta la carpeta de tu aplicacion ????
ya que Buid.bat funciona con rutas dinamicas...

EJ: si usas Build.bat desde la linea de comando y estas en uno de los ejemplos
C:\HMG3.0.38\SAMPLES\ACTIVEX.1\build demo1.hbp este se compila perfecto

pero si ejecutas Build.bat desde otra carpeta que no sea C:\HMG3.0.38 no te va a servir o te dara errores.
puedes probar con este Build.bat
recuerda cambiar la ruta de tu instalacion HMG si difiere de C:\HMG3.0.38

Code: Select all

@echo off
@echo  
SET HMGPATH=C:\HMG3.0.38\
if "%1"=="" goto Input
call %HMGPATH%build.bat  %*
goto Finish

:Input
SET Filename=
SET Parameter=
@cls
@echo ********************************************************************************
@echo   Este Batch pasa informacion a hbmk2 para un compilacion facil y limpia 
@echo   se distribuye como esta y no garantiza que este libre de errores
@echo   si encuentra una puede escribirme a danielmaximiliano@yahoo.com.ar
@echo   Basado un Build.bat distribuido en el Proyecto HMG de Roberto Lopez
@echo ********************************************************************************
@echo.
@echo Entre el nombre del proyecto a compilar, asume la extension .HBP si este existe
@echo en la carpeta del proyecto, sino compila el .PRG
@echo.
@Set /p Filename=                        Nombre de la Aplicacion :
@echo.
if {%Filename%}=={} goto :Finish
@echo *******************************************************************************
@echo  Parametros Extras
@echo                           /n	No EJECUTAR desdepues de compilar
@echo                           /d	Habilita DEBUG
@echo                           /c	Modo CONSOLA DOS
@echo Nota: " Con un <Enter> ningun parametro es pasado "
@echo *******************************************************************************
@echo.
@Set /p Parameter=                      Parametros :
@echo.
If "%Parameter%"=="" goto Continue
@echo compilando con parametros
@if EXIST %Filename%.hbp Goto HBPParameters 
@if EXIST %Filename%.prg Goto PRGParameters
@echo 
@echo No se encuentra Fuentes para compilar !!!!!
@echo presione una tecla e intente de nuevo entrar el nombre.....
@Pause >nul
goto Input



:HBPParameters
@Echo Compilando %Filename%.hbp %Parameter%
call %HMGPATH%build.bat %Parameter% %filename%.hbp 
goto Input

:PRGParameters
@Echo Compilando %Filename%.PRG %Parameter%
call %HMGPATH%build.bat %Parameter% %%filename%.prg
@Pause
goto Input


:Continue
@echo no parameters compilation
@if EXIST %Filename%.hbp Goto HBP 
@if EXIST %Filename%.prg Goto PRG
@echo.
@echo 
@echo No se encuentra Fuentes para compilar !!!!!
@echo presione una tecla e intente de nuevo entrar el nombre.....
@pause > nul
@goto Input

:HBP
@Echo Compile %Filename%.hbp
call %HMGPATH%build.bat %filename%.hbp 
goto Input

:PRG
@Echo Compile %Filename%.prg
call %HMGPATH%build.bat %filename%.prg
goto Input


:Finish
@exit

*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. 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 »

Por si sirve de más ayuda, aquí adjunto el archivo de error que me genera al compilar:
Harbour 2.1.0rc2 (Rev. 16888)
Copyright (c) 1999-2011, http://harbour-project.org/
C:/Users/pp/AppData/Local/Temp/hbmk_uumims.dir/libreta.o:libreta.c:(.data+0xf8): undefined reference to `HB_FUN_HB_SETCODEPAGE'
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
gcc.exe C:/Users/pp/AppData/Local/Temp/hbmk_uumims.dir/libreta.o C:/Users/pp/AppData/Local/Temp/hbmk_uumims.dir/hbmk_iha7nw.o E:/programacion/apuntes/_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 -olibreta.exe -LC:/hmg/harbour/lib/win/mingw -LC:/hmg/harbour/bin -LC:/hmg/lib
Agradezco cualquier sugerencia y ayuda.
Gracias.
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 »

danielmaximiliano wrote:Angel:
una pregunta....¿ donde esta la carpeta de tu aplicacion ????
ya que Buid.bat funciona con rutas dinamicas...
Hola Daniel, mientras tu me respondías, he enviado otro post como habrás visto.

Efectivamente, mi aplicación la tengo en otra ruta distinta, desde otro disco.

Voy a ponerla el la carpeta SAMPLES de la raiz de HMG, ya que también he renombrado C:\HMG3.0.38 y lo he dejado com C:\HMG

Voy a probar lo que me dices y ya te comento algo.

Saludos
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 »

Nada, no funciona he probado con el build.bat que me has dicho pero sigue sin compilar.

Al final del programa principal main, incluyo los prg que lleva toda la aplicación de esta forma:

#include "fichacli.prg"
#include "apuntes.prg"
#include "extractos.prg"
#include "libreimp.prg"
#include "extracli.prg"

Quizás debo hacerlo de otra manera ? :?:

Saludos.
User avatar
danielmaximiliano
Posts: 2611
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:
es raro el error que envias ya que HMG3.0.38 utiliza Harbour 3.x esta es porcion del Changelog

Code: Select all

- HMG 3.0.38 (Test) 2011/07/18 Changelog:
   - Updated to Harbour 3.0 (Thanks to Harbour Development Team)
A pesar de que utilizan paginas de codigos predeterminada, pero tal vez la pagina de codigos por defecto el harbour es diferente a su valor predeterminado clipper. De la version internacional de clipper en español que utilizo
REQUEST HB_LANG_ES
REQUEST HB_CODEPAGE_ES850C

HB_CDPSELECT('ES850C')
HB_LANGSELECT('ES')

Usted puede probar cpinfo.prg en el directorio de prueba de harbour, compilarlo en el harbour y el clipper, la definicin de la solicitud de lenguaje correcto, o dejarla como el valor por defecto. Comparar las cadenas de salida que contiene como una comparacin entre los resultados de dos caracteres

Saludos

Maurizio Faccio
Los Include tiene que estar al comienzo del PRG Principal de tu aplicacion.

#include "hmg.ch"
#include "fichacli.prg"
#include "apuntes.prg"
#include "extractos.prg"
#include "libreimp.prg"
#include "extracli.prg"
FUNCTION Main()
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

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