Daniel Thoma: DLL mit JNA nutzen; Problem mit Referenzvariablen

Beitrag lesen

Hallo Micha,

An der Stelle müssen ja praktisch Pointer übergeben werden, auf den Speicherplatz/die Variable, wo der Wert gespeichert werden soll. Für die Basistypen gibt es da fertige Klassen, die das abwickeln. In diesem Fall wäre das IntByReference.

Du musst also den Rückgabeparameter entsprechend deklarieren:
void getValue(IntByReference ref);

Und kannst dann die Funktion so aufrufen:
IntByReference ref = new IntByReference();
foo.getValue(ref);
int i = ref.getValue();

Grüße

Daniel