Moinmoin,
ich versuche grade ein interface mit hilfe von jns zu coden, jedoch ist die doku für mich irgendwie nicht verständlich.
die funktion in c++ sieht folgendermaßen aus:
ich versuche nun die funktion in der dll aufzurufen mit:
oder muss ich eventuell dieses dafür nutzen?
welches dann so aussehen müsste?
wie kann ich nun den slot und den Zeiger an die dll übergeben?
an sich sollte von der dll dann wenn ich sie richtig aufgerufen habe die rückantwort (slot) kommen.
nur leider steige ich dort ehrlich gesagt trotz inzwischen 10maligem durchlesen von https://jna.dev.java.net/ überhaupt nicht durch.
ich versuche grade ein interface mit hilfe von jns zu coden, jedoch ist die doku für mich irgendwie nicht verständlich.
die funktion in c++ sieht folgendermaßen aus:
Code:
Init(slot,Zeiger auf Ausgabefenster)
Code:
Schreiben(slot,Zeiger auf Datenblock, Größe des übergebenen Datenblocks )
Code:
Lesen (slot, Zeiger auf Datenblock, Größe des übergebenen Datenblocks)
ich versuche nun die funktion in der dll aufzurufen mit:
Code:
import com.sun.jna.Structure;
public class InitIF
{
public static class Init extends Structure
{
short slot;
int datenBlockGröße;
int timer;
}
void Init(Init result){}
}
oder muss ich eventuell dieses dafür nutzen?
Code:
// Equivalent JNA mappings
public interface CLibrary extends Library {
interface FUNCTION extends Callback {
void callback();
}
int atexit(FUNCTION fn);
}
...
CLibrary lib = CLibrary.INSTANCE;
lib.atexit(new FUNCTION() {
public void callback() {
System.out.println("exit was called");
}
});
welches dann so aussehen müsste?
Code:
public interface DLL extends Library {
interface Init extends Callback {
void callback();
}
int atexit(Init fn);
}
DLL libDll = DLL.INSTANCE;
DLL.atexit(new Init() {
public void callback() {
System.out.println("exit was called");
}
});
wie kann ich nun den slot und den Zeiger an die dll übergeben?
an sich sollte von der dll dann wenn ich sie richtig aufgerufen habe die rückantwort (slot) kommen.
nur leider steige ich dort ehrlich gesagt trotz inzwischen 10maligem durchlesen von https://jna.dev.java.net/ überhaupt nicht durch.