FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error BASE/1089 Argument error: ABS
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Error BASE/1089 Argument error: ABS
Posted: Fri Jan 26, 2024 04: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 - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error BASE/1089 Argument error: ABS
Posted: Fri Jan 26, 2024 04:46 PM
Estimado Carlos,

Usa este dll.ch
Code (fw): Select all Collapse
// 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
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Error BASE/1089 Argument error: ABS
Posted: 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 - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error BASE/1089 Argument error: ABS
Posted: Sat Jan 27, 2024 05: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
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Error BASE/1089 Argument error: ABS
Posted: 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 - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error BASE/1089 Argument error: ABS
Posted: Wed Jan 31, 2024 05: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 (fw): Select all Collapse
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
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Error BASE/1089 Argument error: ABS
Posted: 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 - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Error BASE/1089 Argument error: ABS
Posted: Fri Feb 02, 2024 10:53 AM
Si, está incluido para la proxima versión de FWH :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion