Ayuda Urgente Error al Compilar SOLUCIONADO

Post Reply
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Ayuda Urgente Error al Compilar SOLUCIONADO

Post by remtec »

Amigos

Muy buen dia.

Se me ha generado un error al compilar:

Error: Unresolved external '_HB_FUN_ABRE_DBF' referenced from C:\UTIL\INFOEXA\OBJ\INGRESO.OBJ
Error: Unable to perform link

Esto ocurre, ya que agregue un PRG, llamado Multiuso.Prg, que abre las dbf.

Code: Select all

#include "FiveWin.ch"
#include "Common.ch"

#define NET_WAIT     0.5   // Seconds to wait between between retries
#define NET_SECS     2     // Number of seconds to continue retry

// filename=Nombre de la Dbf, nro_sele = Selec, is_ex = Shared/Exclusive, Ali = Alias

STATIC FUNCTION Abre_dbf(filename,nro_sele,is_ex,Ali)
        Local Paramcnt
        set exclusive off

        If file('filename..dbf')
         If nro_sele<10
                nro_sele=str(nro_sele,1)
         Else
                nro_sele=str(nro_sele,2)
         Endif
         sele &nro_sele
         ij=100
         For ij=1 to 100
                 nSeconds=5
                 nb=0
                 DEFAULT nSeconds TO NET_SECS
                 DO WHILE (nSeconds > 0)

                            If Ali#""
                         IF is_ex
                                 USE &filename EXCLUSIVE Alias &Ali
                            Else
                                     USE &filename SHARED     Alias &Ali
                         Endif
                            Else
                         IF is_ex
                                 USE &filename EXCLUSIVE
                            Else
                                     USE &filename SHARED
                         Endif
                            Endif
                        nb=0
                            INKEY( NET_WAIT )     // Wait
                            nSeconds -= NET_WAIT
                 ENDDO
                 If nb=0
                            Msgwait( "Espere Archivo Ocupado","ESPERE",5 )
                 Else
                            exit
                 Endif
         Next ij
        Else
         MsgStop(" ERROR NO EXISTE ARCHIVO "+filename)
        Endif
Return nil
 
Este en el compilado:

Code: Select all

C:\Util\Infoexa>if not exist obj md obj 

C:\Util\Infoexa>c:\util\bcc73\bin\make -fcompi.mak 
MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
    echo off
    echo c:\util\bcc73\lib\c0w32.obj + > b32.bc
    echo obj\Infoexa.obj obj\Ingreso.obj obj\Actu_usu.obj obj\Multiuso.obj , + >> b32.bc
    echo Infoexa.exe, + >> b32.bc
    echo Infoexa.map, + >> b32.bc
    echo c:\util\fwh1709\lib\FiveH.lib c:\util\fwh1709\lib\FiveHC.lib + >> b32.bc
    echo c:\util\hb32\lib\hbwin.lib + >> b32.bc
    echo c:\util\hb32\lib\gtgui.lib + >> b32.bc
    echo c:\util\hb32\lib\hbrtl.lib + >> b32.bc
    echo c:\util\hb32\lib\hbvm.lib + >> b32.bc
    echo c:\util\hb32\lib\hblang.lib + >> b32.bc
    echo c:\util\hb32\lib\hbmacro.lib + >> b32.bc
    echo c:\util\hb32\lib\hbrdd.lib + >> b32.bc
    echo c:\util\hb32\lib\rddntx.lib + >> b32.bc
    echo c:\util\hb32\lib\rddcdx.lib + >> b32.bc
    echo c:\util\hb32\lib\rddfpt.lib + >> b32.bc
    echo c:\util\hb32\lib\hbsix.lib + >> b32.bc
    echo c:\util\hb32\lib\hbdebug.lib + >> b32.bc
    echo c:\util\hb32\lib\hbcommon.lib + >> b32.bc
    echo c:\util\hb32\lib\hbpp.lib + >> b32.bc
    echo c:\util\hb32\lib\hbcpage.lib + >> b32.bc
    echo c:\util\hb32\lib\hbcplr.lib + >> b32.bc
    echo c:\util\hb32\lib\hbct.lib + >> b32.bc
    echo c:\util\hb32\lib\hbpcre.lib + >> b32.bc
    echo c:\util\hb32\lib\xhb.lib + >> b32.bc
    echo c:\util\hb32\lib\hbziparc.lib + >> b32.bc
    echo c:\util\hb32\lib\hbmzip.lib + >> b32.bc
    echo c:\util\hb32\lib\hbzlib.lib + >> b32.bc
    echo c:\util\hb32\lib\minizip.lib + >> b32.bc
    echo c:\util\hb32\lib\png.lib + >> b32.bc
    echo c:\util\hb32\lib\hbusrrdd.lib + >> b32.bc
    rem Uncomment these two lines to use Advantage RDD
    rem echo c:\util\hb32\rddads.lib + >> b32.bc
    rem echo c:\util\hb32\Ace32.lib + >> b32.bc
    echo c:\util\bcc73\lib\cw32.lib + >> b32.bc
    echo c:\util\bcc73\lib\uuid.lib + >> b32.bc
    echo c:\util\bcc73\lib\import32.lib + >> b32.bc
    echo c:\util\bcc73\lib\ws2_32.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\odbc32.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\nddeapi.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\iphlpapi.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\msimg32.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\psapi.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\rasapi32.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\gdiplus.lib + >> b32.bc
    echo c:\util\bcc73\lib\psdk\shell32.lib,, + >> b32.bc
    echo Infoexa.res >> b32.bc
    c:\util\bcc73\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc
Turbo Incremental Link 6.80 Copyright (c) 1997-2017 Embarcadero Technologies, Inc.
Error: Unresolved external '_HB_FUN_ABRE_DBF' referenced from C:\UTIL\INFOEXA\OBJ\INGRESO.OBJ
Error: Unable to perform link

** error 2 ** deleting Infoexa.exe
 
Agradeciendo su ayuda, les saluda.
Antonio
Last edited by remtec on Wed Feb 20, 2019 6:11 pm, edited 1 time in total.
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Re: Ayuda Urgente Error al Compilar

Post by Carles »

Antonio

Quita STATIC de la declaracion

Code: Select all

FUNCTION Abre_dbf(filename,nro_sele,is_ex,Ali)
...
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Ayuda Urgente Error al Compilar

Post by carlos vargas »

Simple, el compiladore no encuentra esa funcion ya que esta definida como static function por lo que solo en visible en el mismo prg donde esta creada, no en otros modulos.
quitale el static

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda Urgente Error al Compilar

Post by remtec »

Hola Carles y Carlos Vargas

Muchas gracias Maestros, funciono perfecto.

Saludos
Antonio.
Post Reply