Page 1 of 1

Help translate from Delphi to Fivewin

PostPosted: Thu Aug 12, 2010 6:48 am
by kok joek hoa
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"

Re: Help translate from Delphi to Fivewin

PostPosted: Mon Aug 16, 2010 6:23 am
by kok joek hoa
problem solved

thanks

Re: Help translate from Delphi to Fivewin

PostPosted: Mon Aug 16, 2010 7:09 am
by James Bott
Please show us how.

Regards,
James

Re: Help translate from Delphi to Fivewin

PostPosted: Mon Aug 16, 2010 8:04 am
by kok joek hoa
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

Re: Help translate from Delphi to Fivewin

PostPosted: Mon Aug 16, 2010 8:24 am
by kok joek hoa
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"