Page 1 of 1

2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 13, 2016 8:38 pm
by JLVassallo
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.

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 13, 2016 9:07 pm
by Antonio Linares
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

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Tue Nov 15, 2016 12:41 pm
by xmanuel
Más bien esta: https://harbour.github.io/
Harbour está más fuerte que nunca :lol: :lol: :lol: :lol:

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Wed Nov 16, 2016 2:53 am
by JLVassallo
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.

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Wed Nov 16, 2016 7:49 am
by Antonio Linares
Estas enlazando B_GBROW.obj en tu EXE ?

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Thu Nov 17, 2016 3:12 am
by JLVassallo
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

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Thu Nov 17, 2016 10:19 am
by Antonio Linares
Comprueba si se genera el fichero B_GBROW.obj ó B_GBROW.o

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 20, 2016 1:12 am
by JLVassallo
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. :shock:
Slds.

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 20, 2016 8:09 am
by Antonio Linares
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.

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 20, 2016 1:03 pm
by JLVassallo
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 otros caminos 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 datos cada 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 :D

Re: 2 consultas - 1) Sigue harbour? 2) Constructor y new.

PostPosted: Sun Nov 20, 2016 5:45 pm
by Antonio Linares