Ayuda con funciones sin resolver

Ayuda con funciones sin resolver

Postby carlos vargas » Sun Feb 15, 2009 2:15 am

Antonio he intentado usar la funcion GETNETCARDID con xharbour.com
pero me da falla con unas funciones sin resolver.

__chkstk
_GetAdaptersInfo

tu pusiste un file en rapidshare para resolver el problema, pero el link murio.

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Ayuda con funciones sin resolver

Postby Antonio Linares » Sun Feb 15, 2009 10:31 am

Carlos,

Para GetAdaptersInfo() necesitas una librería de importación de Windows iphlpapi.dll

Si PellesC no la proporciona (es el compilador que usa xHB.com) entonces tienes que construirla:

1. Busca en la carpeta Windows y subcarpetas, el fichero iphlpapi.dll
2. Construye un fichero def a partir de él:
impdef.exe iphlpapi.def iphlpapi.dll
3. Construye una libreria lib a partir del fichero .def
4. Para el paso 3 puedes usar LIB.exe de Microsoft:
lib.exe /def:iphlpapi.def /out:iphlpapi.lib

En cuanto a chkstk, que función te la pide ? La propia GetAdaptersInfo() de FWH ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41354
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda con funciones sin resolver

Postby carlos vargas » Sun Feb 15, 2009 8:43 pm

Antonio
el log de la compilacion es

xLINK: error: Unresolved external symbol '__chkstk'.

xLINK: error: Unresolved external symbol '_GetAdaptersInfo'.

xLINK: fatal error: 2 unresolved external(s).

el prg que intento compilar es:
Code: Select all  Expand view

#include "fivewin.ch"

 function Main()
 
    local aInfo := GetNetCardID()
   
    if ValType( aInfo ) == "C"
       MsgInfo( aInfo )
    else
       MsgInfo( aInfo[ 1 ] )
    endif      
 
 return nil

 

Antes Patrick Mast, te consulto lo mismo, y al final tu pusiste un obj en rapidshare y el confirmo que con ese obj le funciono ok.
pero el enlace esta muerto.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Ayuda con funciones sin resolver

Postby Antonio Linares » Mon Feb 16, 2009 7:09 am

Carlos,

Si, cierto. El "truco" está en usar el parámetro -Gs15000 (en este caso me sirvió con 15000) que aumenta el tamaño del stack de la función y asi no llama a chkstk (check stack):

cl.exe -c -Gs15000 -D__HARBOUR__ -D__FLAT__ -Ic:\harbour\include netcrdid.c

cl.exe es el compilador de C de Microsoft que genera OBJs en formato COFF, igual que PellesC, por lo que se pueden usar juntos. Borland genera OBJs con formato OMF.

Aqui tienes el OBJ:
http://www.mediafire.com/?sharekey=414c ... eaa7bc68bc
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41354
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 14 guests