Hallo zusammen,
ich habe ein Problem mit dem Aufruf einer DLL-Funktion aus einem Java-Programm heraus.
Laut Dokumentation erwartet die DLL für die Funktion BCSetTextA folgende Parameter:
- t_BarCode *pBarCode
- LPCSTR szText
- LONG nLen
Ich verwende JNA.
Mein Interface sieht wie folgt aus:
Die DLL habe ich so instanziert:
und diesen Barcode übergebe ich als ersten Parameter:
Der Aufruf beschert mir dann diese Fehlermeldung:
Die Dokumentation zur DLL findet ihr hier:
TEC-IT TBarCode Library 11: Barcode Data
Ich hoffe auf baldige Hilfe
Vielen Dank im Voraus
ich habe ein Problem mit dem Aufruf einer DLL-Funktion aus einem Java-Programm heraus.
Laut Dokumentation erwartet die DLL für die Funktion BCSetTextA folgende Parameter:
- t_BarCode *pBarCode
- LPCSTR szText
- LONG nLen
Ich verwende JNA.
Mein Interface sieht wie folgt aus:
Java:
public interface tecitdll extends Library
{
tecitdll INSTANCE = (tecitdll) Native.loadLibrary((Platform.isWindows() ? "TBarCode11_x64" : "c"), tecitdll.class);
void BCLicenseMeA(String a, int b, int c, String d, int e);
void BCSetTextA(tecitdll pointer, String text, int laenge);
void BCSetBCType(tecitdll pointer, String eBC_2OF5IL);
void BCBitmapToFileA(tecitdll pointer, String pfad, Rectangle rechteck);
}
Die DLL habe ich so instanziert:
Java:
tecitdll barcode = tecitdll.INSTANCE;
und diesen Barcode übergebe ich als ersten Parameter:
Java:
barcode.BCSetTextA(barcode, strBarcode, strBarcode.length());
Der Aufruf beschert mir dann diese Fehlermeldung:
Code:
Unsupported argument type com.sun.proxy.$Proxy0 at parameter 0 of function BCSetTextA
Die Dokumentation zur DLL findet ihr hier:
TEC-IT TBarCode Library 11: Barcode Data
Ich hoffe auf baldige Hilfe
Vielen Dank im Voraus