Ich bin relativ neu in der Verwendung von JNA und fand das JNAerator-Tool. Ich dachte, es wäre ein einfacher Weg, um loszulegen, aber wie ich meine Schnittstellen und verschiedene Dateien generiert habe, ich finde es schwer zu debuggen oder zu verstehen, warum es nicht funktioniert. Windows-Programmierung ist nicht meine Stärke, daher der Versuch mit JNA machen das Leben einfach für mich ...JNA/Java mit JNAerator und ftd2xx Bibliotheken
Die Header-Datei hier: http://www.ftdichip.com/Support/Knowledgebase/index.html?ftd2xx_h.htm
Und es erzeugt die folgende Java JNA Datei hier: http://pastebin.com/hpJgSRMk
Jetzt App meine Probe einfach versucht, diese angeschlossenen Geräte aufzulisten, die ich um dann laufen kann und manipulieren, etc ..
import com.sun.jna.NativeLong;
import ft2xx.Ftd2xxLibrary;
import ft2xx.Ftd2xxLibrary.LPDWORD;
public class Test {
public static void main(String[] args){
LPDWORD lpd = new LPDWORD();
NativeLong nl = Ftd2xxLibrary.INSTANCE.FT_CreateDeviceInfoList(lpd);
System.out.println("Call State: " + nl);
}
}
Das nach dem, was ich hier gelesen haben: http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer's_Guide(FT_000071).pdf welches Details, wie man die verbundenen Geräte auflistet, die dann usw. iteriert werden können.
So gibt meine Methode eine 6 zurück, die einen ungültigen Parameter anzeigt, aber da ich den Code automatisch erzeugte, und es stapelt nicht, ich bin ein wenig ratlos, wie es weitergeht.
Ich benutzte JNAerator angesichts der schiere Anzahl der Methoden, die ich implementieren und verwenden musste, und war der Meinung, dass JNA und solcher generierter Code leicht genug wäre, um Arbeit für diesen speziellen Zweck zu machen.
Irgendwelche Hinweise, oder sollte ich zurück zu den Grundlagen?
Ich bin auf Windows 7, mit Eclipse (Mars) und der Webstart-Version von JNAerator.