Parameter By Reference?

Hallo,

ist es moeglich, beim Methodenaufruf die Parameter als Variable zu uebergeben und nicht als Wert (Delphi = VAR, VB = BYREF)?

Ich brauche das, um ueber das JNI Werte einer DLL in den Funktionsparametern an das Aufrufende Java-Programm zurueck zu geben.

Gruss, Niels

Moin,

ist es moeglich, beim Methodenaufruf die Parameter als
Variable zu uebergeben und nicht als Wert (Delphi = VAR, VB =
BYREF)?

Primitive? Nö, AFAIK. Bei Objekten geht’s nicht anders.

Ich brauche das, um ueber das JNI Werte einer DLL in den
Funktionsparametern an das Aufrufende Java-Programm zurueck zu
geben.

Kannst Du kein Objekt zurückgeben?

Thorsten

Hallo,

Primitive? Nö, AFAIK. Bei Objekten geht’s nicht anders.

Du bestaetigst meine Befuerchtungen.

Kannst Du kein Objekt zurückgeben?

Ich werde die DLL wohl mit einer anderen kapseln muessen und ein Objekt verwenden.

Vielen Dank,

Niels

ist es moeglich, beim Methodenaufruf die Parameter als
Variable zu uebergeben und nicht als Wert (Delphi = VAR, VB =
BYREF)?
Ich brauche das, um ueber das JNI Werte einer DLL in den
Funktionsparametern an das Aufrufende Java-Programm zurueck zu
geben.

Habe mich länger damit nicht mehr beschäftigt, aber was wenn du einfach den Wert in einer Klasse kapselst und dann übergibst du ja die Referenz?

MfG Bruno

Hallo Niels,

leider werden die Objekte in Java by value übergeben.
Zwei Lösungen:

  1. Rückgabewert in ein Objekt kapseln, daß einen Member
    vom geforderten Typ enthält.

  2. Ein ein - Element - Array vom geforderten Typ übergeben.
    Diesem Element kann dann der neue Wert zugewiesen werden,
    wobei die Referenz des Arrays erhalten bleibt (und das ist
    ja das, was Du brauchst).

Gruß,
Lydia

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]