Estou compilando meu sistema com o XHarbour 1.2.1 e BCC5.8, e está dando o seguinte erro:
Unresolved External _HB_FUN_DBFCDX referenced from prog1.obj
Falha na execução, retornou: 2
Alguma dica???
_HB_FUN_DBFCDX
Moderador: Moderadores
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
_HB_FUN_DBFCDX
Olá!
Seja bem-vindo ao fórum Renato!
Inclua em teu PRG principal as linhas 3 e 5 mostradas abaixo.
Seja bem-vindo ao fórum Renato!
Inclua em teu PRG principal as linhas 3 e 5 mostradas abaixo.
Código: Selecionar todos
FUNCTION Main()
REQUEST DBFCDX
RddSetDefault( "DBFCDX" )
//
// código...
//
RETURN NIL[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
_HB_FUN_DBFCDX
Só comentário:
REQUEST tá mais pra uso em linquedição.
Por isso eu costumo deixar no topo do arquivo, assim como #define, #include, etc.
REQUEST tá mais pra uso em linquedição.
Por isso eu costumo deixar no topo do arquivo, assim como #define, #include, etc.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- carlaoonline
- Usuário Nível 3

- Mensagens: 190
- Registrado em: 24 Ago 2014 22:38
- Localização: Porto Alegre-RS
_HB_FUN_DBFCDX
Boa tarde!
Uma dica:
Não tenho muita experiência mas depois de um tempo, percebi nas minhas compilações, que recebo esse erro por colocar no código uma função que não existe,
Por exemplo:
No caso acima, DbClose() não é uma função válida, o certo seria DbCloseArea(), e nesse caso ao compilar retorna o erro abaixo...
" Error: Unresolved external '_HB_FUN_DBCLOSE' referenced from C:\USERS\..... "
A questão é que esse erro não informa a linha, somente a palavra: '_HB_FUN_DBCLOSE
Nesse caso eu procuro no meu código a palavra sempre após o _HB_FUN_ seguido de um parêntese: DBCLOSE(
e ali verifico o que pode ser.
No seu caso eu procuraria por DBFCDX( pois acredito que tenha um parêntese após a palavra, e DBFCDX() não é uma função.
Talvez tenha esquecido de digitar algo na frente, ou algo assim...
Uma dica:
Não tenho muita experiência mas depois de um tempo, percebi nas minhas compilações, que recebo esse erro por colocar no código uma função que não existe,
Por exemplo:
Código: Selecionar todos
...
@ 10,10 say "Fechando o arquivo!"
DbClose("Vendas")
No caso acima, DbClose() não é uma função válida, o certo seria DbCloseArea(), e nesse caso ao compilar retorna o erro abaixo...
" Error: Unresolved external '_HB_FUN_DBCLOSE' referenced from C:\USERS\..... "
A questão é que esse erro não informa a linha, somente a palavra: '_HB_FUN_DBCLOSE
Nesse caso eu procuro no meu código a palavra sempre após o _HB_FUN_ seguido de um parêntese: DBCLOSE(
e ali verifico o que pode ser.
No seu caso eu procuraria por DBFCDX( pois acredito que tenha um parêntese após a palavra, e DBFCDX() não é uma função.
Talvez tenha esquecido de digitar algo na frente, ou algo assim...
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
_HB_FUN_DBFCDX
Lembrou certo, apesar da explicação...
Quando usa REQUEST ou funções no fonte, se não tem fonte com ela, o linqueditor pesquisa nas LIBs.
Mas... só nas LIBs indicadas ou LIBs padrão.
Pode acontecer como ele comentou, de nome errado.
Mas pode ser que faltou indicar a LIB a ser pesquisada.
Verifique na forma que está compilando, como é que faz pra indicar a DBFCDX.
Não basta alterar no fonte, a linquedição precisa saber aonde procurar a LIB, e provavelmente até o nome da LIB que contém a função.
Nem todas são pesquisadas automaticamente, ainda mais XHarbour e os makes dele.
Quando usa REQUEST ou funções no fonte, se não tem fonte com ela, o linqueditor pesquisa nas LIBs.
Mas... só nas LIBs indicadas ou LIBs padrão.
Pode acontecer como ele comentou, de nome errado.
Mas pode ser que faltou indicar a LIB a ser pesquisada.
Verifique na forma que está compilando, como é que faz pra indicar a DBFCDX.
Não basta alterar no fonte, a linquedição precisa saber aonde procurar a LIB, e provavelmente até o nome da LIB que contém a função.
Nem todas são pesquisadas automaticamente, ainda mais XHarbour e os makes dele.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
_HB_FUN_DBFCDX
Do manual do xHarbour, para fechar a tabela em uso:
Você pode usar também: "USE", pra fechar a tabela em uso.
Código: Selecionar todos
DbCloseArea()
Closes a database file in a work area.
Syntax
DbCloseArea() --> NIL
Return
The return value is always NIL.
Description
The DbCloseArea() function closes the database open in the current work area and all associated files, like index or memo files. Use an aliased expression to close a database in a different work area.
Closing a database causes all pending file buffers being flushed to disk before files are closed. Also, all file and record locks are released when files are closed.
Info
See also: CLOSE, DbCloseAll(), DbCommit(), DbUseArea(), USE
Category: Database functions
Source: rdd\dbcmd.c
LIB: xhb.lib
DLL: xhbdll.dll
Example
PROCEDURE Main()
USE Customer ALIAS Cust
? (1)->(Used()) // result: .T.
DbEdit()
Cust->(DbCloseArea())
? (1)->(Used()) // result: .F.
RETURN
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
