DLL32 FUNCTION GRAN GRAN PROBLEMA

DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » Tue Mar 28, 2017 4: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: Select all  Expand view

+--------------------------------------------------------------------------------+
|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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby karinha » Tue Mar 28, 2017 4: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
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » Tue Mar 28, 2017 5: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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » Tue Mar 28, 2017 5: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: Select all  Expand view

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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby karinha » Tue Mar 28, 2017 5:40 pm

como estas haciendo? Algo Asi?

Code: Select all  Expand view

   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: Select all  Expand view

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
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby armando.lagunas » Tue Mar 28, 2017 7:17 pm

Code: Select all  Expand view
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
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » Tue Mar 28, 2017 8:17 pm

Hola Armando / Karinha

Gracias por responder

El problema esta en DLL.CH

Code: Select all  Expand view
#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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby Antonio Linares » Tue Mar 28, 2017 9:29 pm

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

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

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » 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: Select all  Expand view
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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby cnavarro » 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
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby devtuxtla » Wed Mar 29, 2017 3: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.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: DLL32 FUNCTION GRAN GRAN PROBLEMA

Postby Antonio Linares » Wed Mar 29, 2017 8:39 am

regards, saludos

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 43 guests