FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Help translate from Delphi to Fivewin
Posts: 117
Joined: Tue Jan 03, 2006 06:18 PM
Help translate from Delphi to Fivewin
Posted: Thu Aug 12, 2010 06:48 AM

Dear All,

Can some one help me to translate this Winapi (Delphi to Fivewin ) ,
and how I call this function if I have data like :

nport  :=3
addres := 0xff

thanks

kok joek hoa
//-----------------------dll function
long WINAPI OpenComPort (long Port , unsigned char ComAdr, long FrmHandle)
long WINAPI AutoOpenComPort(long Port , unsigned char ComAdr, long *FrmHandle)

I have try this statement but still no effect

DLL Function OpenComPort( nPort AS long, @CompAdr AS LPSTR , @nFrmHandel AS PTR) AS LONG PASCAL FROM "OpenComPort" LIB "RR9000mul.dll"
DLL Function AutoOpenComPort( nPort AS PTR, @CompAdr AS LPSTR , @nFrmHandel AS PTR) AS LONG PASCAL FROM "OpenComPort" LIB "RR9000mul.dll"

Posts: 117
Joined: Tue Jan 03, 2006 06:18 PM
Re: Help translate from Delphi to Fivewin
Posted: Mon Aug 16, 2010 06:23 AM

problem solved

thanks

Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: Help translate from Delphi to Fivewin
Posted: Mon Aug 16, 2010 07:09 AM

Please show us how.

Regards,
James

FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 117
Joined: Tue Jan 03, 2006 06:18 PM
Re: Help translate from Delphi to Fivewin
Posted: Mon Aug 16, 2010 08:04 AM

Dear James,

here,

DLL FUNCTION AutoOpenComPort ( @nPort AS LPSTR , @CompAdr AS LPSTR , @FrmHandle AS LPSTR) AS LONG PASCAL FROM "AutoOpenComPort" LIB "RR9000MUL.dll"
DLL FUNCTION OpenComPort ( nPort AS LONG , @CompAdr AS LPSTR , @FrmHandle AS LPSTR) AS LONG PASCAL FROM "OpenComPort" LIB "RR9000MUL.dll"

regards,

kok joek hoa

Posts: 117
Joined: Tue Jan 03, 2006 06:18 PM
Re: Help translate from Delphi to Fivewin
Posted: Mon Aug 16, 2010 08:24 AM

Dear James,

we can control this hardware ( DL810 long Range Rfid ISO 15690 ) using fivewin like :

include "fivewin.ch"

include "dll.ch"

include "Struct.ch"

function Main()

LOCAL hDLL := LoadLibrary( "RR9000mul.dll" )

local nport
local naddresSport
local FrmHandle
LOCAL VERSIONINFO
local ReaderType
local TrType
local InventoryScanTime

STRUCT nport
    MEMBER   NPORT        AS LONG
ENDSTRUCT

STRUCT NADDRESSPORT
    MEMBER  ADDRESS      AS  BYTE
ENDSTRUCT

   STRUCT FrmHandle 
        MEMBER  CODE        AS  LONG
   ENDSTRUCT

NPORT:NPORT := 3 // com3
NADDRESSPORT:ADDRESS :=0XFF // 255
FrmHandle:CODE := 0

TRY
FOR NCTL = 3 TO 5
NPORT:NPORT := NCTL

    MSGINFO( AUTOOPENCOMPORT(NPORT:CBUFFER ,NADDRESSPORT:CBUFFER     ,FrmHandle:CBUFFER     ))
    MSGINFO(NPORT:NPORT)
    MSGINFO(NADDRESSPORT:ADDRESS)
    MSGINFO(FrmHandle:CODE)

NEXT

CATCH

MSGINFO('Cannot Open Port')
END

CloseComPort ()
FreeLibrary( hDLL )

return nil

DLL FUNCTION AutoOpenComPort ( @nPort AS LPSTR , @CompAdr AS LPSTR , @FrmHandle AS LPSTR) AS LONG PASCAL FROM "AutoOpenComPort" LIB "RR9000MUL.dll"
DLL FUNCTION OpenComPort ( nPort AS LONG , @CompAdr AS LPSTR , @FrmHandle AS LPSTR) AS LONG PASCAL FROM "OpenComPort" LIB "RR9000MUL.dll"
DLL FUNCTION CloseComPort () AS LONG FROM "CloseComPort" PASCAL LIB "RR9000MUL.dll"

Continue the discussion