FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DLL32 FUNCTION GRAN GRAN PROBLEMA
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 04:22 PM
Hola FiveWinners

Estoy actualizando una aplicacion que utiliza varias dll de terceros, las cuales acceso a traves de DLL32 FUNCTION

Con esta nueva version de FWH 17.02 / xHarbour 1.2.3 ( Build 20170312) / BCC 7.2, TODOS las funciones que se encuentran en los DLL'S dan el mismo error.

NO se donde esta el problema

Alguien sabe como corregir este error ?

Code (fw): Select all Collapse
+--------------------------------------------------------------------------------+
|Error BASE/1089  Argument error: ABS Arguments: ( [ 1] = Type: P Val: 748B0000) |
|(Quit)                                                                          |
|Error BASE/1089  Argument error: ABS Arguments: ( [ 1] = Type: P Val: 748B0000) |
|                                                                                |
|Error at ...: ABS(0) in Module:                                                 |
|Called from : ANIMATEWINDOW(0) in Module: C:\SISTPAK\PRG\SISTPACK.prg            |
|Called from : NW_ANIMA(2454) in Module: C:\SISTPAK\PRG\SISTPACK.prg              |
|Called from : (b)N06_SISTPACK(511) in Module: C:\SISTPAK\PRG\SISTPACK06.PRG         |
|Called from : TDIALOG:INITIATE(706) in Module: .\source\classes\DIALOG.PRG      |
|Called from : TDIALOG:HANDLEEVENT(898) in Module: .\source\classes\DIALOG.PRG   |
|Called from : DIALOGBOX(0) in Module:                                           |
|Called from : TDIALOG:ACTIVATE(296) in Module: .\source\classes\DIALOG.PRG      |
|Called from : N06_SISTPACK(511) in Module: C:\SISTPAK\PRG\SISTPACK06.PRG            |
|Called from : (b)W_MENU(1652) in Module: C:\SISTPAK\PRG\SISTPACK.prg             |
|Called from : TMENU:COMMAND(1238) in Module: .\source\classes\MENU.PRG          |
|Called from : TWINDOW:COMMAND(1080) in Module: .\source\classes\WINDOW.PRG      |
|Called from : TMDIFRAME:COMMAND(262) in Module: .\source\classes\MDIFRAME.PRG   |
|Called from : TMDIFRAME:HANDLEEVENT(0) in Module:                               |
|Called from : _FWH(3325) in Module: .\source\classes\WINDOW.PRG                 |
|Called from : WINRUN(0) in Module:                                              |
|Called from : TMDIFRAME:ACTIVATE(1036) in Module: .\source\classes\WINDOW.PRG   |
|Called from : SISTPACK(685) in Module: C:\SISTPAK\PRG\SISTPACK.prg                 |
|                                                                                |
|                                                                                |
+--------------------------------------------------------------------------------+
Visite Chiapas, el paraiso de México.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 04:50 PM

BASE/1089

Invalid argument passed to function
Description
The argument (or arguments) passed to a function is not an numeric value
Example(s)
ABS

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 05:03 PM

Hola Karinha.

NO deberia ...

NO debo cambiar el llamado a las DLL´s el mensaje es para todos los llamados a los metodos definidos en las DLL, en caso de la animacion de ventas es un ejemplo.

Saludos

Visite Chiapas, el paraiso de México.
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 05:24 PM
Otro ejemplo de uso de DLL's con error.

Este mismo error se genera en otro sistema que usa metodos definidos en DLL's

Code (fw): Select all Collapse
Subsystem Call ....: BASE
System Code .......: 1089
Default Status ....: .F.
Description .......: Argument error
Operation .........: ABS
Arguments .........:  [ 1] = Type: P Val: F1E0000
Involved File .....: 
Dos Error Code ....: 0

 Trace Through:
----------------
ABS                   :       0 in Module: 
DLL_CHECKKEY          :       0 in Module: C:\ACCMEDIA\PRG\ACCMEDIA64.prg
N63_VERIFICADLL       :      87 in Module: C:\ACCMEDIA\PRG\ACCMEDIA63.prg
N60_GENERA            :   1,095 in Module: C:\ACCMEDIA\PRG\ACCMEDIA60.prg
N11R_GENERA           :   1,389 in Module: C:\ACCMEDIA\PRG\ACCMEDIA11o.prg
N11O_ACERT            :     572 in Module: C:\ACCMEDIA\PRG\ACCMEDIA11o.prg
(b)N11E_BAR           :     432 in Module: C:\ACCMEDIA\PRG\ACCMEDIA11e.prg
(b)MSGMETER           :      28 in Module: .\source\function\MSGMETER.PRG
(b)TDIALOG:TDIALOG    :      95 in Module: .\source\classes\DIALOG.PRG
TDIALOG:DISPLAY       :       0 in Module: 
TDIALOG:HANDLEEVENT   :     901 in Module: .\source\classes\DIALOG.PRG
DIALOGBOXINDIRECT     :       0 in Module: 
TDIALOG:ACTIVATE      :     296 in Module: .\source\classes\DIALOG.PRG
MSGMETER              :      31 in Module: .\source\function\MSGMETER.PRG
(b)N11E_BAR           :     432 in Module: C:\ACCMEDIA\PRG\ACCMEDIA11e.prg
TSBUTTON:CLICK        :     850 in Module: C:\TSBUTT~1\SOURCE\CLASSES\TSBUTTON.PRG
TCONTROL:HANDLEEVENT  :   1,685 in Module: .\source\classes\CONTROL.PRG
TSBUTTON:HANDLEEVENT  :   1,317 in Module: C:\TSBUTT~1\SOURCE\CLASSES\TSBUTTON.PRG
_FWH                  :   3,325 in Module: .\source\classes\WINDOW.PRG
WINRUN                :       0 in Module: 
TMDIFRAME:ACTIVATE    :   1,036 in Module: .\source\classes\WINDOW.PRG
ACCMEDIA              :     685 in Module: C:\ACCMEDIA\PRG\ACCMEDIA.prg


############################## Video Screen Dump ##############################

+--------------------------------------------------------------------------------+
|Called from : DLL_CHECKKEY(0) in Module: C:\ACCMEDIA\PRG\ACCMEDIA64.prg     |
|Called from : N63_VERIFICADLL(87) in Module: C:\ACCMEDIA\PRG\ACCMEDIA63.prg       |
|Called from : N60_GENERA(1095) in Module: C:\ACCMEDIA\PRG\ACCMEDIA60.prg     |
|Called from : N11R_GENERA(1389) in Module: C:\ACCMEDIA\PRG\ACCMEDIA11o.prg     |
|Called from : N11O_ACERT(572) in Module: C:\ACCMEDIA\PRG\ACCMEDIA11o.prg     |
|Called from : (b)N11E_BAR(432) in Module: C:\ACCMEDIA\PRG\ACCMEDIA11e.prg          |
|Called from : (b)MSGMETER(28) in Module: .\source\function\MSGMETER.PRG         |
|Called from : (b)TDIALOG:TDIALOG(95) in Module: .\source\classes\DIALOG.PRG     |
|Called from : TDIALOG:DISPLAY(0) in Module:                                     |
|Called from : TDIALOG:HANDLEEVENT(901) in Module: .\source\classes\DIALOG.PRG   |
|Called from : DIALOGBOXINDIRECT(0) in Module:                                   |
|Called from : TDIALOG:ACTIVATE(296) in Module: .\source\classes\DIALOG.PRG      |
|Called from : MSGMETER(31) in Module: .\source\function\MSGMETER.PRG            |
|Called from : (b)N11E_BAR(432) in Module: C:\ACCMEDIA\PRG\ACCMEDIA11e.prg          |
|Called from : TSBUTTON:CLICK(850) in Module: C:\TSBUTT~1\SOURCE\CLASSES\TSBUTTON|
|.PRG                                                                            |
|Called from : TCONTROL:HANDLEEVENT(1685) in Module: .\source\classes\CONTROL.PRG|
|                                                                                |
|Called from : TSBUTTON:HANDLEEVENT(1317) in Module: C:\TSBUTT~1\SOURCE\CLASSES\T|
|SBUTTON.PRG                                                                     |
|Called from : _FWH(3325) in Module: .\source\classes\WINDOW.PRG                 |
|Called from : WINRUN(0) in Module:                                              |
|Called from : TMDIFRAME:ACTIVATE(1036) in Module: .\source\classes\WINDOW.PRG   |
|Called from : ACCMEDIA(685) in Module: C:\ACCMEDIA\PRG\ACCMEDIA.prg                 |
+--------------------------------------------------------------------------------+
Visite Chiapas, el paraiso de México.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 05:40 PM
como estas haciendo? Algo Asi?

Code (fw): Select all Collapse
   local cDllName:="BEMAFI32.DLL"

   SET DATE FRENCH

   hFiscalDl2 := LoadLibrary(cDllName)

   if Abs( hFiscalDL2 ) <= 32

      MsgAlert( "Error code: " + LTrim( Str( hFiscalDL2 ) ) + " loading " + cDllName )

      Quit

   endif



Code (fw): Select all Collapse
DLL32 FUNCTION BmFormaPg( cNomeDocto   AS STRING ,;
                          cValorDocto  AS STRING ) AS LONG PASCAL;
      FROM "Bematech_FI_EfetuaFormaPagamento" LIB XDLL


Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 07:17 PM
Code (fw): Select all Collapse
DLL32 FUNCTION AnimateWindow( hWnd As LONG, dwTime As LONG, dwFlags As LONG ) AS LONG PASCAL FROM "AnimateWindow" LIB "user32.DLL"
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 08:17 PM
Hola Armando / Karinha

Gracias por responder

El problema esta en DLL.CH

Code (fw): Select all Collapse
#xcommand DLL [<static:STATIC>] FUNCTION <FuncName>( [ <uParam1> AS <type1> ] ;
                                                     [, <uParamN> AS <typeN> ] ) ;
             AS <return> [<pascal:PASCAL>] [ FROM <SymName> ] LIB <*DllName*> ;
       => ;
          [<static>] function <FuncName>( [NOREF(<uParam1>)] [,NOREF(<uParamN>)] ) ;;
             local _hDLL := If( ValType( <DllName> ) == "N", <DllName>, LoadLibrary( <(DllName)> ) ) ;;
             local uResult ;;
             local cFarProc ;;
             if Abs( _hDLL ) > 32 ;;  <------- AQUI GENERA EL ERROR
                cFarProc = GetProcAdd( _hDLL,;
                If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
                [<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
                uResult = FWCallDLL( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
                If( ValType( <DllName> ) == "N",, FreeLibrary( _hDLL ) ) ;;
             else ;;
                MsgAlert( "Error code: " + LTrim( Str( _hDLL ) ) + " loading " + ;
                If( ValType( <DllName> ) == "C", <DllName>, Str( <DllName> ) ) ) ;;
             end ;;
          return uResult
Visite Chiapas, el paraiso de México.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 09:29 PM

Prueba a reemplazar en tu código DLL32 FUNCTION ... por DLL FUNCTION ...

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 10:52 PM
Hola Antonio.

Gracias por contestar..

He hecho e cambio, y genera el mismo error, con cualquier llamado al metodo en el DLL

Code (fw): Select all Collapse
Subsystem Call ....: BASE
System Code .......: 1089
Default Status ....: .F.
Description .......: Argument error
Operation .........: ABS
Arguments .........:  [ 1] = Type: P Val: 748B0000
Involved File .....: 
Dos Error Code ....: 0

 Trace Through:
----------------
ABS                   :       0 in Module:
GEN_VALIDAKEY         :        C:\MASTRACC\PRG\Validakey.prg
Visite Chiapas, el paraiso de México.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Tue Mar 28, 2017 11:47 PM

Puedes poner el script que utilizas para generar la aplicacion?

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Wed Mar 29, 2017 03:22 AM

Hola FiveWinnes.

Para resolver este problema de la DLL's di un paso a tras...

Generé la aplicacion con la version de FWH17.02 , xHarbour 1.2.3. (Build 20161218) y BCC 7.0

Y problema resuelto... los metodos de las DLL's se ejecutan bien...

Tal vez es necesario esperar una poco antes de usar BCC 7.2, aun que no se si es quien causa el problema.

Saludos

Visite Chiapas, el paraiso de México.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL32 FUNCTION GRAN GRAN PROBLEMA
Posted: Wed Mar 29, 2017 08:39 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion