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

Post Reply
JLVassallo
Posts: 7
Joined: Sun Nov 13, 2016 4:56 am

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

Post 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.
User avatar
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.

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
xmanuel
Posts: 613
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Contact:

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

Post by xmanuel »

Más bien esta: https://harbour.github.io/
Harbour está más fuerte que nunca :lol: :lol: :lol: :lol:
______________________________________________________________________________
Sevilla - Andalucía
JLVassallo
Posts: 7
Joined: Sun Nov 13, 2016 4:56 am

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

Post 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.
User avatar
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.

Post by Antonio Linares »

Estas enlazando B_GBROW.obj en tu EXE ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
JLVassallo
Posts: 7
Joined: Sun Nov 13, 2016 4:56 am

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

Post 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
User avatar
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.

Post by Antonio Linares »

Comprueba si se genera el fichero B_GBROW.obj ó B_GBROW.o
regards, saludos

Antonio Linares
www.fivetechsoft.com
JLVassallo
Posts: 7
Joined: Sun Nov 13, 2016 4:56 am

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

Post 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.
User avatar
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.

Post 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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
JLVassallo
Posts: 7
Joined: Sun Nov 13, 2016 4:56 am

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

Post 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 _ 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 :D
User avatar
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.

Post by Antonio Linares »

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
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply