Error BASE/1089 Argument error: ABS

Error BASE/1089 Argument error: ABS

Postby CARLOS ATUNCAR » Fri Jan 26, 2024 4:02 pm

Application
===========
Path and name: J:\Fwh2307\fwh\samples\nuevo1.exe (32 bits)
Size: 4,208,128 bytes
Compiler version: xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914)
FiveWin version: FWH 23.07
C compiler version: Borland/Embarcadero C++ 7.6 (32-bit)
Windows 10 64 Bits, version: 6.2, Build 9200

Time from start: 0 hours 0 mins 0 secs
Error occurred at: 01/26/24, 11:00:39
Error description: Error BASE/1089 Argument error: ABS
Args:
[ 1] = P 0x70B90000

Stack Calls
===========
Called from: => ABS( 0 )
Called from: .\source\winapi\WININET.PRG => WININET( 23 )
Called from: .\source\classes\INTERNET.PRG => TINTERNET:NEW( 28 )
Called from: nuevo1.prg => (b)MAIN( 6 )
Called from: .\source\function\MSGRUN.PRG => (b)MSGRUN( 47 )
Called from: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 97 )
Called from: => TDIALOG:DISPLAY( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 1200 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 307 )
Called from: .\source\function\MSGRUN.PRG => MSGRUN( 54 )
Called from: nuevo1.prg => MAIN( 6 )

Ejemplo

#include "fivewin.ch"

Function Main

MsgRun( "Connecting to Internet...", "Please, wait",{ || oInternet := TInternet():New()})

Return
CARLOS ATUNCAR
 
Posts: 117
Joined: Thu Sep 17, 2015 11:40 pm

Re: Error BASE/1089 Argument error: ABS

Postby Antonio Linares » Fri Jan 26, 2024 4:46 pm

Estimado Carlos,

Usa este dll.ch
Code: Select all  Expand view
// Copyright FiveTech 1993-2022

#ifndef _DLL_CH
#define _DLL_CH

#ifndef _C_TYPES
   #define _C_TYPES
   #define VOID      0
   #define BYTE      1
   #define CHAR      2
   #define WORD      3

#ifdef __CLIPPER__
   #define _INT      4         // conflicts with Clipper Int()
#else
   #define _INT      7
#endif

   #define BOOL      5
   #define HDC       6
   #define LONG      7
   #define STRING    8
   #define LPSTR     9
   #define PTR      10
   #define _DOUBLE  11         // conflicts with BORDER DOUBLE
   #define DWORD    12
   
   #define LONGLONG 13
#endif

#translate NOREF([@]<x>) => <x>

#ifndef __HARBOUR__
  #ifndef __XPP__
     #ifndef __CLIPPER__
        #ifndef __C3__
           #define __CLIPPER__
        #endif
     #endif
  #endif
#endif

#ifndef __CLIPPER__
   #translate DLL32 => DLL
#endif

//----------------------------------------------------------------------------//

#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 ;;
             local _pOld ;;
             if ValType( _hDLL ) == "P" ;;
               _pOld = _hDLL ;;
               _hDLL = PtrToNum( _hDLL ) ;;
             end ;;
             if Abs( _hDLL ) > 32 ;;
                cFarProc = GetProcAdd( _hDLL,;
                If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
                [<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
                uResult = FWCallDLL( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
                if ! Empty( _pOld ) ;;
                   _hDLL = _pOld ;;
                end ;;  
                If( ValType( <DllName> ) == "N",, FreeLibrary( _hDLL ) ) ;;
             else ;;
                MsgAlert( "Error code: " + LTrim( Str( _hDLL ) ) + " loading " + ;
                If( ValType( <DllName> ) == "C", <DllName>, Str( <DllName> ) ) ) ;;
             end ;;
          return uResult

//----------------------------------------------------------------------------//

#xcommand DLL32 [<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>, LoadLib32( <(DllName)> ) ) ;;
             local uResult ;;
             local cFarProc ;;
             local _pOld ;;
             if ValType( _hDLL ) == "P" ;;
               _pOld = _hDLL ;;
               _hDLL = PtrToNum( _hDLL ) ;;
             end ;;
             if Abs( _hDLL ) > 32 ;;
                cFarProc = GetProcAdd32( _hDLL,;
                If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
                [<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
                uResult = FWCallDLL32( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
                if ! Empty( _pOld ) ;;
                   _hDLL = _pOld ;;
                end ;;  
                If( ValType( <DllName> ) == "N",, FreeLib32( _hDLL ) ) ;;
             else ;;
                MsgAlert( "Error code: " + LTrim( Str( _hDLL ) ) + " loading " + ;
                If( ValType( <DllName> ) == "C", <DllName>, Str( <DllName> ) ) ) ;;
             end ;;
          return uResult

//----------------------------------------------------------------------------//

#endif
regards, saludos

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

Re: Error BASE/1089 Argument error: ABS

Postby CARLOS ATUNCAR » Fri Jan 26, 2024 10:55 pm

#include "fivewin.ch"
#include "dll.ch"

Function Main

MsgRun( "Connecting to Internet...", "Please, wait",{ || oInternet := TInternet():New()})

Return


Compilado con Buildx.bat de la carpeta de ejemplos

Application
===========
Path and name: J:\Fwh2307\fwh\samples\nuevo1.exe (32 bits)
Size: 4,208,128 bytes
Compiler version: xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914)
FiveWin version: FWH 23.07
C compiler version: Borland/Embarcadero C++ 7.6 (32-bit)
Windows 10 64 Bits, version: 6.2, Build 9200

Time from start: 0 hours 0 mins 0 secs
Error occurred at: 01/26/24, 17:54:35
Error description: Error BASE/1089 Argument error: ABS
Args:
[ 1] = P 0x70B90000

Stack Calls
===========
Called from: => ABS( 0 )
Called from: .\source\winapi\WININET.PRG => WININET( 23 )
Called from: .\source\classes\INTERNET.PRG => TINTERNET:NEW( 28 )
Called from: nuevo1.prg => (b)MAIN( 7 )
Called from: .\source\function\MSGRUN.PRG => (b)MSGRUN( 47 )
Called from: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 97 )
Called from: => TDIALOG:DISPLAY( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 1200 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 307 )
Called from: .\source\function\MSGRUN.PRG => MSGRUN( 54 )
Called from: nuevo1.prg => MAIN( 7 )

System
======
CPU type: AMD Ryzen 5 2400G with Radeon Vega Graphics 3593 Mhz
Hardware memory: 14285 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Windows total applications running: 3
1 , J:\Fwh2307\fwh\samples\nuevo1.exe
2 GDI+ Window (AMDRSServ.exe),
3 GDI+ Window (nuevo1.exe), C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.3996_none_d954cb49e10154

Variables in use
================
Procedure Type Value
==========================
ABS
Param 1: P 0x70B90000
Local 1: U
Local 2: U
WININET
TINTERNET:NEW
Local 1: O Class: TINTERNET
Local 2: U
(b)MAIN
Param 1: O Class: TDIALOG
(b)MSGRUN
Param 1: U
(b)TDIALOG:TDIALOG
Param 1: O Class: TDIALOG
TDIALOG:DISPLAY
TDIALOG:HANDLEEVENT
Param 1: N 15
Param 2: N 0
Param 3: N 0
Local 1: O Class: TDIALOG
DIALOGBOXINDIRECT
Param 1: N 4915200
Param 2: C "€ s  P l e a s e , w a i t "
Param 3: N 0
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: B {|| ... }
Param 4: L .F.
Param 5: U
Param 6: L .T.
Param 7: B {|| ... }
Param 8: U
Param 9: U
Param 10: U
Param 11: U
Param 12: L .F.
Param 13: O Class: TDIALOG
Param 14: U
Local 1: O Class: TDIALOG
Local 2: N 0
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
MSGRUN
Param 1: C "Connecting to Internet..."
Param 2: C "Please, wait"
Param 3: B {|| ... }
Local 1: U
Local 2: U
Local 3: O Class: TDIALOG
Local 4: N 229
Local 5: U
Local 6: L .F.
MAIN

Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFCDX
DBFNTX

DataBases in use
================

Classes in use:
===============
1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TWINDOW
6 TDIALOG
7 TBRUSH
8 TFONT
9 TREG32
10 TRECT
11 TINTERNET
12 TSTRUCT

Memory Analysis
===============
717 Static variables

Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
CARLOS ATUNCAR
 
Posts: 117
Joined: Thu Sep 17, 2015 11:40 pm

Re: Error BASE/1089 Argument error: ABS

Postby Antonio Linares » Sat Jan 27, 2024 5:52 am

Carlos,

Asegúrate de que eliminas otro dll.ch que tengas instalado y que usas el que te he proporcionado

El error que describes precisamente se solucionó con esta versión de dll.ch que te he proporcionado
regards, saludos

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

Re: Error BASE/1089 Argument error: ABS

Postby CARLOS ATUNCAR » Wed Jan 31, 2024 12:57 am

Antonio Linares wrote:Carlos,

Asegúrate de que eliminas otro dll.ch que tengas instalado y que usas el que te he proporcionado

El error que describes precisamente se solucionó con esta versión de dll.ch que te he proporcionado


Buenas Noches Antonio,
Si he reemplazado el Dll.ch de la carpeta de Include he probado y sigue igual el problema he comparado el dll.ch que viene en la version 23-07 y es igual al que me has pasado.
CARLOS ATUNCAR
 
Posts: 117
Joined: Thu Sep 17, 2015 11:40 pm

Re: Error BASE/1089 Argument error: ABS

Postby Antonio Linares » Wed Jan 31, 2024 5:52 am

Estimado Carlos,

Te pido disculpas, pensé que el error venía por el uso de dll.ch y en realidad era por otra causa.

Tienes que modificar la función WinINet() en el fichero FWH\source\winapi\wininet.prg de esta forma:
Code: Select all  Expand view
function WinINet()

   if hWinINet == nil
      hWinINet = LoadLibrary( "WinINet.dll" )
      if ValType( hWinINet ) == "P"
         hWinINet = PtrToNum( hWinINet )
      endif  
      if Abs( hWinINet ) <= 32
         MsgStop( "Cannot load WinINet.dll!" )
      endif
   endif

return hWinINet
regards, saludos

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

Re: Error BASE/1089 Argument error: ABS

Postby CARLOS ATUNCAR » Fri Feb 02, 2024 12:57 am

Saludos, si se soluciono ahora tendre que agregar ese prg a mis proyectos ese cambio me imagino vendra en las proximas versiones
CARLOS ATUNCAR
 
Posts: 117
Joined: Thu Sep 17, 2015 11:40 pm

Re: Error BASE/1089 Argument error: ABS

Postby Antonio Linares » Fri Feb 02, 2024 10:53 am

Si, está incluido para la proxima versión de FWH :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
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 83 guests