FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Pocket PC DLL
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Fri Nov 17, 2006 03:27 PM

Hello Antonio

I have a cash register with Windows CE.NET 4.20
The program works very well.

Now I have to link with a DLL , I need only 3 functions
1) DLL FUNCTION RCHOpen() AS LONG PASCAL FROM "RCHOpen" LIB "RCHGlobe.dll"
2) DLL FUNCTION RCHClose() AS LONG PASCAL FROM "RCHClose" LIB "RCHGlobe.dll"

This 2 functions works and return correctly 0

3) DLL FUNCTION RCHSendData(sIn AS STRING ,sOut AS STRING) AS LONG PASCAL FROM "RCHSendData" LIB "RCHGlobe.dll"

VB.NET Code is = Public Shared Function RCHSendData(ByVal a As String, ByVal b As String) As Int32 )

I call the function

  sIn := AnsiToWide("=K")
  sOut := AnsiToWide(space(40))
  nRet := RchSendData(sIn,sOut)

But return always an error
(I try without AnsiToWide)

Antonio , are you able to give me some clue as to solve this problem ?

Regards MAurizio

I know that this problem could be due to the cash.
Antonio , are you able to give me some clue as to solve this problem ?

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: DLL
Posted: Fri Nov 17, 2006 04:27 PM
Maurizio wrote:3) DLL FUNCTION RCHSendData(sIn AS STRING ,sOut AS STRING) AS LONG PASCAL FROM "RCHSendData" LIB "RCHGlobe.dll"


Try AS LPSTR instead of the two AS STRING.

EMG
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Fri Nov 17, 2006 05:21 PM

Ciao Enrico

unfortunately I have already tryed .

Thank Maurizio

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
DLL
Posted: Fri Nov 17, 2006 05:29 PM

It may be that the DLL command is not fully implemented in FWPPC yet.

Antonio?

EMG

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
DLL
Posted: Fri Nov 17, 2006 10:29 PM

Enrico,

The DLL command is fully working.

Maurizio, what error code do you get ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Sat Nov 18, 2006 08:34 AM

The Function RCHSendData return -104 , parameters non correctly.

Maurizio

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
DLL
Posted: Sat Nov 18, 2006 09:05 AM

Maurizio,

Have you tried to supply the parameters without calling AnsiToWide() ?

Please use LPSTR as Enrico has pointed,

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Sat Nov 18, 2006 12:14 PM

Yes I tryed without AnsiToWide() and with LPSTR
but without success

Maurizio

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
DLL
Posted: Sat Nov 18, 2006 12:49 PM

Maurizio,

I suggest you that you try a C wrapper, without using DLL FUNCTION to see if that makes a difference.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
DLL
Posted: Sat Nov 18, 2006 12:52 PM
#pragma BEGINDUMP

#include <hbapi.h>

HB_FUNC( RCHSENDDATA )
{
   hb_retnl( RCHSendData( hb_parc( 1 ), hb_parc( 2 ) ) );
}

#pragma ENDDUMP

You need to link RCHGlobe.lib.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Sat Nov 18, 2006 01:20 PM

Antonio

I Try

implib.exe RCHGlobe.lib RCHGlobe.DLL
and I have the LIB

but when I link RCHGlobe.lib i had
c:\harbour_ce\lib\RCHglobe.lib : fatal error LNK1136: invalid or corrupt file

Maurizio

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Sat Nov 18, 2006 01:32 PM

Enrico

nella cartella VCE non trovo implib.exe
ho usato quella di Borland
dove posso trovarla quella per MSVCE ?
MAurizio

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
DLL
Posted: Sat Nov 18, 2006 01:37 PM

Usa LINK.EXE con lo switch /IMPLIB (link /? per le varie opzioni).

EMG

Posts: 842
Joined: Mon Oct 10, 2005 01:29 PM
DLL
Posted: Mon Nov 20, 2006 07:19 AM

Antonio
cann you help me with a problem . I am not able to transform the DLL in the LIB .
Thank to Enrico's help I use this command , but it dosnt work.

c:\vce\bin\link corelibc.lib /LIBPATH:c:\vce\lib\arm /NOLOGO /SUBSYSTEM:WINDOWSCE,4.20 /MACHINE:ARM /DLL /IMPLIB:rchglobe.dll /OUT:rchglobe.lib

Regards MAurizio