Page 1 of 1

Fwh 2.8 - erro com DLL

Posted: Fri Nov 24, 2006 7:15 pm
by toya
Antonio, anteriormente esta rotina funcionava corretamente com a versão FWH 2.6 + xHarbour 0.99.5

Porém, não esta funcionando com a versão FHW 2.8 (outubro/2006) + xHarbour 0.99.61

Code: Select all

#include "FiveWin.ch"
STATIC DLLDATAREGIS
***********
function main()
***********

  ABREDATAREGIS()

  IF (  nRet  := IF_Abre_Serial("COM1")  ) #  0    // <---- Antonio O ERRO ESTA DANDO AQUI !!!!!!!!!
      MsgStop("Nenhuma impressora fiscal foi detectada !","Atenção")
     RETURN .F.
  ENDIF

  CLOSEDATAREGIS()
return nil


********************
FUNCTION ABREDATAREGIS()
********************
DLLDATAREGIS  := LOADLIB32( "DTIF32.DLL" )
? DLLDATAREGIS

RETURN NIL

**********************
FUNCTION CLOSEDATAREGIS()
*************************
IF_Fecha_Serial()
RETURN NIL



DLL32 function IF_ParamIni()                                         AS LONG PASCAL LIB DLLDATAREGIS
DLL32 function IF_Abre_Serial(Porta AS STRING)                       AS LONG PASCAL LIB DLLDATAREGIS



Se puderes me ajudar, desde já agradeço...

Posted: Sat Nov 25, 2006 3:23 am
by miragerr
Ola amigo

Já passei por um problema destes, o que esta acontecendo ??

Poste aki os parametros das funçoes da DLL

Pois o que aconteceu comigo é que estava eu colocar um parametro na função,mesmo que no manual informasse que o parametro era opcional

Re: Fwh 2.8 - erro com DLL

Posted: Thu May 31, 2007 1:08 pm
by Julio Cesar
Alguem tem uma resposta para isto?
Estou tendo o mesmo problema com FWH26 roda porem com o FWH27 ja nao roda?!?!?!!?
toya wrote:Antonio, anteriormente esta rotina funcionava corretamente com a versão FWH 2.6 + xHarbour 0.99.5

Porém, não esta funcionando com a versão FHW 2.8 (outubro/2006) + xHarbour 0.99.61

Code: Select all

#include "FiveWin.ch"
STATIC DLLDATAREGIS
***********
function main()
***********

  ABREDATAREGIS()

  IF (  nRet  := IF_Abre_Serial("COM1")  ) #  0    // <---- Antonio O ERRO ESTA DANDO AQUI !!!!!!!!!
      MsgStop("Nenhuma impressora fiscal foi detectada !","Atenção")
     RETURN .F.
  ENDIF

  CLOSEDATAREGIS()
return nil


********************
FUNCTION ABREDATAREGIS()
********************
DLLDATAREGIS  := LOADLIB32( "DTIF32.DLL" )
? DLLDATAREGIS

RETURN NIL

**********************
FUNCTION CLOSEDATAREGIS()
*************************
IF_Fecha_Serial()
RETURN NIL



DLL32 function IF_ParamIni()                                         AS LONG PASCAL LIB DLLDATAREGIS
DLL32 function IF_Abre_Serial(Porta AS STRING)                       AS LONG PASCAL LIB DLLDATAREGIS



Se puderes me ajudar, desde já agradeço...

Posted: Thu May 31, 2007 4:08 pm
by Rossine
Olá Pessoal,

Tentem usar assim para ver se resolve:

DLLDATAREGIS := LoadLibrary( "DTIF32.DLL" )

e para descarregar:

FreeLibrary( DLLDATAREGIS )

Talvez possa ser isto :D

Abraços,

Rossine.

Posted: Thu May 31, 2007 8:09 pm
by Antonio Linares
Es preciso hacer lo que indica Rossine, ya que algunas DLLs lo requieren y en versiones anteriores de FWH no hacia falta ya que habia un error y las DLLs no se descargaban de memoria

Posted: Thu May 31, 2007 11:02 pm
by Antonio Linares
Julio,

En tu caso NO hay que usar PASCAL