2 consultas - 1) Sigue harbour? 2) Constructor y new.
-
- Posts: 7
- Joined: Sun Nov 13, 2016 4:56 am
2 consultas - 1) Sigue harbour? 2) Constructor y new.
Buenas foro quisiera hacer dos consultas:
1) Entre a trabajar en una nueva empresa que tiene un sistema en clipper (que es un desastre de programación y diseño), como tengo que mantenerlo hasta que empiecen la migración (que seguro llevara años si es que se hace), queria saber que habia pasado con la pagina de harbour? Porque aparece hace meses caida? Sigue desde otra pagina? Los proyectos siguen avanzando o quedaron muertos? Esto mas que nada porque a la persona que reemplazo va a otra empresa y tiene que mantener un sistema en clipper y le recomende harbour, el no quiere aprender nuevos lenguajes si no seguir con este, por eso queria saber si le recomendaba bajar harbour o si se pasara a alguno de los otros como xharbour, mini gui, etc.
2) Me traje de un viejo laburo unos fuentes con funciones y al querer compilarlo con harbour me salto error porque no reconocia el comando "constructor" agregue "hbclass.ch" y me lo reconocio pero ahora me saltan errores en varias lineas y pude determinar que es con el comando new del contructor, les paso un ejemplo:
#include "class(y).ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "set.ch"
#include "hbclass.ch"
create class GenBrowse from TBrowse
export:
instvar autoEdit
instvar appendMode
instvar aTBcampo
instvar vConsulta
endclass
constructor new (nTop, nLeft, nBottom, nRight), (nTop, nLeft, nBottom, nRight)
::headSep := "═╤═"
::colSep := " │ "
IF ISCOLOR()
::setColor( "N/W, N/BG, B/W, B/BG, B/W, B/BG, R/W, B/R" )
ELSE
::setColor("W/N, N/W, W/N, N/W, W+/N,N/W ,B+, U " )
// ENDIF 1 2 3 4 5 6 7 8
ENDIF
::colBlockNum := { |x| x := IF( VALTYPE( x ) == "C", VAL( x ), x ), ;
if( x < 0, { 7, 8 }, { 5, 6 } ) }
::colBlockAlfa := {|| {3,4} }
::colBlockDate := {|| {3,4} }
::vConsulta := 0
::aTbCampo := {}
::vTbDbase := .F.
::skipAgrega := .F.
El error me salta en la linea que resalte "instvar autoEdit", porque no me reconoce la instrucción "new", alguno sabra si me falta agregar alguna ch mas para tener al constructor trabajado bien?
Saludos.
1) Entre a trabajar en una nueva empresa que tiene un sistema en clipper (que es un desastre de programación y diseño), como tengo que mantenerlo hasta que empiecen la migración (que seguro llevara años si es que se hace), queria saber que habia pasado con la pagina de harbour? Porque aparece hace meses caida? Sigue desde otra pagina? Los proyectos siguen avanzando o quedaron muertos? Esto mas que nada porque a la persona que reemplazo va a otra empresa y tiene que mantener un sistema en clipper y le recomende harbour, el no quiere aprender nuevos lenguajes si no seguir con este, por eso queria saber si le recomendaba bajar harbour o si se pasara a alguno de los otros como xharbour, mini gui, etc.
2) Me traje de un viejo laburo unos fuentes con funciones y al querer compilarlo con harbour me salto error porque no reconocia el comando "constructor" agregue "hbclass.ch" y me lo reconocio pero ahora me saltan errores en varias lineas y pude determinar que es con el comando new del contructor, les paso un ejemplo:
#include "class(y).ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "set.ch"
#include "hbclass.ch"
create class GenBrowse from TBrowse
export:
instvar autoEdit
instvar appendMode
instvar aTBcampo
instvar vConsulta
endclass
constructor new (nTop, nLeft, nBottom, nRight), (nTop, nLeft, nBottom, nRight)
::headSep := "═╤═"
::colSep := " │ "
IF ISCOLOR()
::setColor( "N/W, N/BG, B/W, B/BG, B/W, B/BG, R/W, B/R" )
ELSE
::setColor("W/N, N/W, W/N, N/W, W+/N,N/W ,B+, U " )
// ENDIF 1 2 3 4 5 6 7 8
ENDIF
::colBlockNum := { |x| x := IF( VALTYPE( x ) == "C", VAL( x ), x ), ;
if( x < 0, { 7, 8 }, { 5, 6 } ) }
::colBlockAlfa := {|| {3,4} }
::colBlockDate := {|| {3,4} }
::vConsulta := 0
::aTbCampo := {}
::vTbDbase := .F.
::skipAgrega := .F.
El error me salta en la linea que resalte "instvar autoEdit", porque no me reconoce la instrucción "new", alguno sabra si me falta agregar alguna ch mas para tener al constructor trabajado bien?
Saludos.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Comenta esta línea:
// #include "class(y).ch"
y cambia "instvar" por "data"
Harbour está muy vivo. Esta es la página oficial de Harbour ahora:
https://github.com/harbour/core
// #include "class(y).ch"
y cambia "instvar" por "data"
Harbour está muy vivo. Esta es la página oficial de Harbour ahora:
https://github.com/harbour/core
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Más bien esta: https://harbour.github.io/
Harbour está más fuerte que nunca
Harbour está más fuerte que nunca
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
-
- Posts: 7
- Joined: Sun Nov 13, 2016 4:56 am
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Hola Antonio, muchas gracias por responderme tan rapido.
Avanzo la compilación pero ahora me tira el siguiente mensaje:
Lines 1213, Functions/Procedures 3
Generating C source output to 'obj\B_ROCOLU.c'... Done.
hbmk2: Compiling...
hbmk2: Linking... "p03".exe
obj/B_ABROW.o:B_ABROW.c:(.data+0x68): undefined reference to `HB_FUN_GENBROWSE'
obj/B_ABROW.o:B_ABROW.c:(.data+0x188): undefined reference to `HB_FUN_ABROWSE_NEW'
obj/B_ROCOLU.o:B_ROCOLU.c:(.data+0x108): undefined reference to `HB_FUN_ROCOLUMN_NEW'
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
c:\harbour3\comp\mingw\bin\gcc.exe obj/proc03.o ........
En el fuente B_GBROW.PRG esta creando la clase GenBrowse del TBrowse, habrá que cambiar alguna linea?
//#include "class(y).ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "set.ch"
#include "hbclass.ch"
create class GenBrowse from TBrowse
export:
data autoEdit
data appendMode
data aTBcampo
data vConsulta
Muchas gracias.
Saludos.
Avanzo la compilación pero ahora me tira el siguiente mensaje:
Lines 1213, Functions/Procedures 3
Generating C source output to 'obj\B_ROCOLU.c'... Done.
hbmk2: Compiling...
hbmk2: Linking... "p03".exe
obj/B_ABROW.o:B_ABROW.c:(.data+0x68): undefined reference to `HB_FUN_GENBROWSE'
obj/B_ABROW.o:B_ABROW.c:(.data+0x188): undefined reference to `HB_FUN_ABROWSE_NEW'
obj/B_ROCOLU.o:B_ROCOLU.c:(.data+0x108): undefined reference to `HB_FUN_ROCOLUMN_NEW'
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
c:\harbour3\comp\mingw\bin\gcc.exe obj/proc03.o ........
En el fuente B_GBROW.PRG esta creando la clase GenBrowse del TBrowse, habrá que cambiar alguna linea?
//#include "class(y).ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "set.ch"
#include "hbclass.ch"
create class GenBrowse from TBrowse
export:
data autoEdit
data appendMode
data aTBcampo
data vConsulta
Muchas gracias.
Saludos.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Estas enlazando B_GBROW.obj en tu EXE ?
-
- Posts: 7
- Joined: Sun Nov 13, 2016 4:56 am
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Entiendo que si, aca esta el archivo hbp con el cual compilo el sistema. El mensaje que me salta es con los fuentes que estan marcados en negrita.
Inicio archivo hbp --->
-o"p03"
# Compila solo los fuentes modificados.
-inc
#-mt
#-gtwvg #libreria grafica
#-gui #libreria grafica
#-rebuild
#-trace
-info
-prgflag=-m -ic:\harbour3\include;c:\harbour3\comp\mingw\include;E:\clipper\INCLUDE
-ldflag=-Wl,--allow-multiple-definition
#-lc:\harbour3\lib\win\mingw\libhbwin.a
-lc:\harbour3\lib\win\mingw\libhbct.a
-lc:\harbour3\lib\win\mingw\libhbclipsm.a
-lc:\harbour3\lib\win\mingw\libxhb.a
#-lc:\harbour3\lib\win\mingw\libhbziparc.a
#-lc:\harbour3\lib\win\mingw\libhbmzip.a
#-lc:\harbour3\lib\win\mingw\libhbnetio.a
-workdir=obj
#Lista de PRG's
proc03.prg
ext\func.prg
FUNCGENE\SOMBRA.PRG
FUNCGENE\F_SELEC2.PRG
#FUNCGENE\F_SELEC3.PRG
FUNCGENE\FUNCGENE.PRG
BROWSE\B_GBROW.PRG
BROWSE\B_ABROW.PRG
BROWSE\B_ABROW.PRG
BROWSE\B_ROCOLU.PRG
BROWSE\B_RWCOLU.PRG
<-- Fin Archivo hbp
La instruccion en el batch que llama al hbp es la siguiente en el batch:
hbmk2 %1.hbp -lc:\harbour3\lib\win\mingw\libhbdebug.a -prgflag=-b
Inicio archivo hbp --->
-o"p03"
# Compila solo los fuentes modificados.
-inc
#-mt
#-gtwvg #libreria grafica
#-gui #libreria grafica
#-rebuild
#-trace
-info
-prgflag=-m -ic:\harbour3\include;c:\harbour3\comp\mingw\include;E:\clipper\INCLUDE
-ldflag=-Wl,--allow-multiple-definition
#-lc:\harbour3\lib\win\mingw\libhbwin.a
-lc:\harbour3\lib\win\mingw\libhbct.a
-lc:\harbour3\lib\win\mingw\libhbclipsm.a
-lc:\harbour3\lib\win\mingw\libxhb.a
#-lc:\harbour3\lib\win\mingw\libhbziparc.a
#-lc:\harbour3\lib\win\mingw\libhbmzip.a
#-lc:\harbour3\lib\win\mingw\libhbnetio.a
-workdir=obj
#Lista de PRG's
proc03.prg
ext\func.prg
FUNCGENE\SOMBRA.PRG
FUNCGENE\F_SELEC2.PRG
#FUNCGENE\F_SELEC3.PRG
FUNCGENE\FUNCGENE.PRG
BROWSE\B_GBROW.PRG
BROWSE\B_ABROW.PRG
BROWSE\B_ABROW.PRG
BROWSE\B_ROCOLU.PRG
BROWSE\B_RWCOLU.PRG
<-- Fin Archivo hbp
La instruccion en el batch que llama al hbp es la siguiente en el batch:
hbmk2 %1.hbp -lc:\harbour3\lib\win\mingw\libhbdebug.a -prgflag=-b
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Comprueba si se genera el fichero B_GBROW.obj ó B_GBROW.o
-
- Posts: 7
- Joined: Sun Nov 13, 2016 4:56 am
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Buenas Antonio, chequee y me genero tanto el .c como el .o
Probe cambiando el nombre de funciones y de fuentes y aún así aparece. Cosa de mandinga.
Slds.
Probe cambiando el nombre de funciones y de fuentes y aún así aparece. Cosa de mandinga.
Slds.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Lo que yo haría en tu lugar sería construir un fichero make propio y asi controlar 100% la construcción del EXE.
Hay alguna razón en especial por la que tengas que usar MinGW ? Borland es mucho más amigable y ya tenemos
ficheros make que podemos proporcionarte de ejemplo para que asi estés operativo cuanto antes.
Hay alguna razón en especial por la que tengas que usar MinGW ? Borland es mucho más amigable y ya tenemos
ficheros make que podemos proporcionarte de ejemplo para que asi estés operativo cuanto antes.
-
- Posts: 7
- Joined: Sun Nov 13, 2016 4:56 am
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
La realidad es que me base todo en lo que me traje de una empresa. Como logre compilar programas chicos y claros, segui en esa línea.
Si hay _ que me permitan acortar o disfrutar mas del viaje, vamos para adelante. Por favor, cuando te sea posible pasame los archivos make.
El directorio con el harbour3 es el mismo que uso desde esa epoca no lo actualice y las librerias no las conozco aún para que sirve cada una, al haber entrado a un nuevo trabajo me divido entre como mantener un sistema en el que debo arreglar manualmente _ 2x3, entre que me enseñan para mantenter otro sistema en php, mysql y javascript y entre mis deseos de conocer a harbour, así que como veras estoy para usar camisa de fuerza ya. jajajajaja
Si hay _ que me permitan acortar o disfrutar mas del viaje, vamos para adelante. Por favor, cuando te sea posible pasame los archivos make.
El directorio con el harbour3 es el mismo que uso desde esa epoca no lo actualice y las librerias no las conozco aún para que sirve cada una, al haber entrado a un nuevo trabajo me divido entre como mantener un sistema en el que debo arreglar manualmente _ 2x3, entre que me enseñan para mantenter otro sistema en php, mysql y javascript y entre mis deseos de conocer a harbour, así que como veras estoy para usar camisa de fuerza ya. jajajajaja
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.
Aqui tienes uno para Borland:
http://forums.fivetechsupport.com/viewt ... le#p165094
y aqui otro para Microsoft Visual Studio:
http://forums.fivetechsupport.com/viewt ... le#p162896
http://forums.fivetechsupport.com/viewt ... le#p165094
y aqui otro para Microsoft Visual Studio:
http://forums.fivetechsupport.com/viewt ... le#p162896