Me da este error, estoy tratando de compilar dicho codigo con xharbour es de clipper y me da este error.
_HB_FUN___DBGENTRY'
Error
Asi construyo el ejecutable y comipo, uso xharbour y bcc582
hbmake teste.bc
- Code: Select all Expand view
C:\clipper con xharbour\tbrowse_xharbour>hbmake teste.bc
C:\bcc582\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_HB_FUN___DBGENTRY' referenced from C:\CLIPPER CON XHARBOUR\TBROWSE_XHARBOUR\OBJ\TESTE.OBJ
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2010
UPX 3.05w Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2010
File size Ratio Format Name
-------------------- ------ ----------- -----------
Packed 0 files.
teste.bc
- Code: Select all Expand view
#BCC
VERSION=BCB.01
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif
!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif
RECURSE= NO
SHELL =
COMPRESS = YES
EXTERNALLIB = NO
XFWH = NO
FILESTOADD = 1
WARNINGLEVEL = 0
USERDEFINE =
USERINCLUDE =
GTWVT =
GUI = YES
MT = NO
SRC02 = obj
PROJECT = teste.exe $(PR)
OBJFILES = $(SRC02)\TESTE.obj $(OB)
PRGFILES = TESTE.PRG $(PS)
OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE = TESTE.PRG
LIBFILES = lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtwvt.lib gtgui.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib
EXTLIBFILES =
DEFFILE =
HARBOURFLAGS = -w0
CFLAG1 = -OS $(SHELL) $(CFLAGS) -d -c -L$(HB_DIR)\lib
CFLAG2 = -I$(HB_DIR)\include;$(CC_DIR)\include
RFLAGS =
LFLAGS = -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -aa
IFLAGS =
LINKER = ilink32
ALLOBJ = c0w32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
.autodepend
#DEPENDS
#COMMANDS
.cpp.obj:
$(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**
.c.obj:
$(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $**
.prg.obj:
$(HB_DIR)\bin\harbour -D__EXPORT__ -n -go -I$(HB_DIR)\include $(HARBOURFLAGS) -o$* $**
.rc.res:
$(CC_DIR)\BIN\brcc32 $(RFLAGS) $<
#BUILD
$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(CC_DIR)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
El codigo prg
- Code: Select all Expand view
#include "inkey.ch"
#define K_C 67 // C
#define K_c 99 // c
#define K_F 102 // F
#define K_f 70 // f
#define K_A 65 // A
#define K_a 97 // a
#define K_I 73 // I
#define K_i 105 // i
************************************************
#DEFINE DEF_CSEP " "+CHR(179)+" " // define o caracter da coluna
#DEFINE FOOT_SEP CHR(196)+CHR(193)+CHR(196) // define o caracter do horizontal
#DEFINE HEAD_SEP CHR(196)+CHR(194)+CHR(196) // define o caracter do horizontal
************************************************
************
FUNC MAIN
************
CLS
USE AGENDA ALIAS AGENDA shared
index on NOME TO AGENDA
@ 03,00 CLEAR TO 22,01
@ 03,79 CLEAR TO 22,79
***************
SET CONFIRM OFF
PESQAGE2()
SET CONFIRM ON
***************
CLEAR GETS
return
***************
FUNC PESQAGE2()
***************
FIELD NOME,TELEFONE1,CELULAR,TIPO,TELEFONE2,ENDERECO,BAIRRO,CIDADE,UF,CEP IN AGENDA
LOCAL nButton := 1
LOCAL nOpcao := 0
LOCAL OTbr :=TBrowseDB( 03, 01, 22, 80 )
LOCAL OTbc1 :=TbColumnNew("Descricao do Cadastrado",{ || NOME } )
LOCAL OTbc2 :=TbColumnNew("N§ Telefone", { || TELEFONE1} )
LOCAL OTbc3 :=TbColumnNew("N§ Celular", { || CELULAR } )
LOCAL OTbc4 :=TbColumnNew("TIPO", { || TIPO } )
LOCAL OTbc5 :=TbColumnNew("N§ Telefone", { || TELEFONE2} )
LOCAL OTbc6 :=TbColumnNew("Endere‡o Completo", { || ENDERECO } )
LOCAL OTbc7 :=TbColumnNew("Bairro", { || BAIRRO } )
LOCAL OTbc8 :=TbColumnNew("Cidade", { || CIDADE } )
LOCAL OTbc9 :=TbColumnNew("UF", { || UF } )
LOCAL OTbc10:=TbColumnNew("CEP", { || CEP } )
LOCAL nKey
LOCAL lExitRequested
PARA TIPOCAD,LINHA
********************************************************************
* 1 2 3 4 5 6 7 8 9 10 11 12 13
oTbr:colorspec :="N*/W , W+/BG , W+/B , R+*/W , W*/W+ , RJ/W , W/B , R/N , B+*/W , RW*/W , N+*/W, BG+*/W, RG+*/W"
oTbr:addColumn(oTbc1)
oTbr:addColumn(oTbc2)
oTbr:addColumn(oTbc3)
oTbr:addColumn(oTbc4)
oTbr:addColumn(oTbc5)
oTbr:addColumn(oTbc6)
oTbr:addColumn(oTbc7)
oTbr:addColumn(oTbc8)
oTbr:addColumn(oTbc9)
oTbr:addColumn(oTbc10)
************ Definicao de Cores ***********
oTbC4:COLORBLOCK :={| NOME | IIF ( TIPO ="CLIENTE", { 9,2 } ,;
IIF ( TIPO ="FORNECEDOR", { 4,2 } ,;
IIF ( TIPO ="FUNCIONARIO",{ 10,2 } ,;
IIF ( TIPO ="COMPRADOR", { 13,2 } ,;
IIF ( TIPO ="CREDOR", { 12,2 } ,;
IIF ( TIPO ="DIVERSOS", { 11,2 } , { 1,2} ) ) ) ) ) ) }
************ largura das colunas ***********
oTbc1:width:=29
************ largura das colunas ***********
************ Marcara das colunas ***********
oTbc2:picture:="@R (99) 9999-9999"
oTbc3:picture:="@R (99) 9999-9999"
oTbc5:picture:="@R (99) 9999-9999"
*******************************************
************ Linhas das colunas ************
oTbr:COLSEP :=DEF_CSEP // desenha colunas Verticais
oTbr:HEADSEP:=HEAD_SEP // desenha colunas Horizontais superior
oTbr:FOOTSEP:=FOOT_SEP // desenha colunas Horizontais inferior
*********************
************ COLUNAS A CONGELAR ************
ColFix := 1 // atraves de variaval colfix
oTbr:freeze := ColFix
**********************************
SELE AGENDA
Otbr:gotop()
IExitRequested := .F.
vCONTINUA=" "
DO WHILE !IExitRequested
@ 23, 00 SAY PADL( "[Esc]Sa¡da", 80 ) COLOR "R*/W"
@ 23, 19 SAY "[C]Cadastrar" COLOR "R*/W"
@ 23, 35 SAY "[Del]Excluir" COLOR "R*/W"
@ 23, 52 SAY "[Enter]Editar" COLOR "R*/W"
@ 23, 00 SAY "[" + CHR( 24 ) + "]" COLOR "R*/W"
@ 23, 04 SAY "[" + CHR( 25 ) + "]" COLOR "R*/W"
@ 23, 08 SAY "[" + CHR( 27 ) + "]" COLOR "R*/W"
@ 23, 12 SAY "[" + CHR( 26 ) + "]" COLOR "R*/W"
DO WHILE !oTbr:stabilize()
ENDDO
IF !vCONTINUA="S"
nKey := inkey(0)
ENDIF
IF vCONTINUA="S"
CLEAR TYPEAHEAD // limpa sujeira no teclado
vNOME=SPACE(30)
vREG=RECCOUNT()
vCONTINUA=" "
SETCOLOR( "N/W,N*/RG,N/W* , , N*/W" )
@ ROW(),01 GET vNOME PICT"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
SETCOLOR( "N*/W,W+/BG" )
IF LASTKEY()==27 .OR. EMPTY(vNOME)
If Flock()
DELE
DBUNLOCK()
ENDIF
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
LOOP
ENDIF
If Flock()
REPL NOME WITH vNOME
DBUNLOCK()
ENDIF
IF FOUND()
ALERT("NAO ACHOU")
EXIT
ENDIF
OTBR:refreshall()
* Otbr:gotop() // no arquivo indexado
GOTO vREG
ELSEIF nKey == K_ENTER .OR. nKey == K_a .OR. nKey == K_A
nCOLNUM:=OTBR:COLPOS
IF TIPO="DIVERSOS"
DO WHILE .T.
vNOME=NOME
vTELEFONE1=TELEFONE1
vCELULAR=CELULAR
vTIPO=TIPO
vTELEFONE2=TELEFONE2
vENDERECO=ENDERECO
vBAIRRO=BAIRRO
vCIDADE=CIDADE
vCEP=CEP
vUF=UF
SET CURSOR ON
SETCOLOR( "N/W,N*/RG,N/W* , , N*/W" )
IF nCOLNUM==1
@ ROW(),COL() GET vNOME PICT"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
ENDIF
IF nCOLNUM==2
LINHA=ROW()
COLUNA=COL()
@ ROW(),COL() GET vTELEFONE1 PICT"@R (99) 9999-9999"
READ
ENDIF
IF nCOLNUM==3
@ ROW(),COL() GET vCELULAR PICT"@R (99) 9999-9999"
READ
ENDIF
IF nCOLNUM==4
ALERT("NAUM PODE")
ENDIF
IF nCOLNUM==5
@ ROW(),COL() GET vTELEFONE2 PICT"@R (99) 9999-9999"
READ
ENDIF
IF nCOLNUM==6
@ ROW(),COL() GET vENDERECO
READ
ENDIF
IF nCOLNUM==7
@ ROW(),COL() GET vBAIRRO
READ
ENDIF
IF nCOLNUM==8
@ ROW(),COL() GET vCIDADE
READ
ENDIF
IF nCOLNUM==9
@ ROW(),COL() GET vUF
READ
ENDIF
IF nCOLNUM==10
@ ROW(),COL() GET vCEP
READ
ENDIF
SET CONFIRM OFF
SETCOLOR( "N*/W,W+/BG" )
IF !LASTKEY() = 27
IF !EMPTY(vNOME)
If Flock()
REPL NOME WITH vNOME
REPL TELEFONE1 WITH vTELEFONE1
REPL CELULAR WITH vCELULAR
REPL TIPO WITH vTIPO
REPL TELEFONE2 WITH vTELEFONE2
REPL ENDERECO WITH vENDERECO
REPL BAIRRO WITH vBAIRRO
REPL CIDADE WITH vCIDADE
REPL CEP WITH VCEP
REPL UF WITH vUF
DBUNLOCK()
ENDIF
ENDIF
ENDIF
EXIT
ENDDO
ELSE
ALERT("NÆo ‚ permitido a Altera‡Æo por esse processo")
ENDIF
OTBR:refreshall()
ELSEIF nKey == K_C .OR. nKey == K_c
SELE AGENDA
APPE BLAN
If Flock()
REPL TIPO WITH "DIVERSOS"
DBUNLOCK()
ENDIF
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
vCONTINUA="S"
LOOP
ELSEIF nKey == K_F .OR. nKey == K_f
vVOLTAR=SPACE(1)
IExitRequested := .T.
ELSEIF nKey == K_DEL
If Flock()
DELE
DBUNLOCK()
ENDIF
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
ELSEIF nKey == K_F1
IF INDEXORD()==2
* SET ORDER TO 7
ELSEIF INDEXORD()==7
* SET ORDER TO 2
ENDIF
oTbr:refreshall()
ELSEIF nKey == K_F2
chave:= Space(30)
SETCOLOR( "N*/W,B/W" )
CLEAR TYPEAHEAD
@ 02, 18 say "Nome.:" get CHAVE pict"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
READ
SETCOLOR( "N*/W,W+/B" )
set softseek on
seek chave
set softseek off
oTbr:refreshall()
ELSEIF nKey == K_DOWN
oTbr:down()
ELSEIF nKey == K_UP
oTbr:up()
ELSEIF nKey == K_PGDN
oTbr:pageDown()
ELSEIF nKey == K_PGUP
oTbr:pageUp()
ELSEIF nKey == K_CTRL_PGUP
oTbr:goTop()
ELSEIF nKey == K_CTRL_PGDN
oTbr:goBottom()
ELSEIF nKey == K_RIGHT
oTbr:right()
ELSEIF nKey == K_LEFT
oTbr:left()
ELSEIF nKey == K_HOME
oTbr:home()
ELSEIF nKey == K_END
oTbr:end()
ELSEIF nKey == K_CTRL_LEFT
oTbr:panLeft()
ELSEIF nKey == K_CTRL_RIGHT
oTbr:panRight()
ELSEIF nKey == K_CTRL_HOME
oTbr:panHome()
ELSEIF nKey == K_CTRL_END
oTbr:panEnd()
ELSEIF nKey == K_ESC
vVOLTAR="S"
OTBR:refreshall()
Otbr:gotop() // no arquivo indexado
IExitRequested := .T.
ENDIF
ENDDO
RETURN NIL