Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Variant does not contain... Deklarationsproblem?

(1/2) > >>

magic_halli:
Hi,

in einem Agent verwende ich LS2J, um mit Java zusammen zu arbeiten.
Folgendes Problem:
Ich rufe mittels LotusScript und LS2J eine meiner Java-Klassen und daraus eine Methode auf. Diese Methode gibt mir entweder 'Null' oder ein konkretes 'Object einer anderen Klasse' zurück.
Diesen Rückgabewert will ich nun auswerten.

Hier erstmal mein relevanter Code:

--- Code: ---Set jClass_SucheGUIPosteingang = jSession.GetClass("SucheGUIPosteingang")
Set jObject_SucheGUIPosteingang = jClass_SucheGUIPosteingang.CreateObject("(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",server,serverport,user,pass)
Set jMethod_SucheGUIPosteingang = jClass_SucheGUIPosteingang.GetMethod("getConnector","()LAfpsHttpConnector;")

Dim connected As Variant
connected =  jMethod_SucheGUIPosteingang.Invoke(jObject_SucheGUIPosteingang)

--- Ende Code ---
Wenn 'Null' zurückkommt sehe ich im LotusScript Debugger, dass connected den Wert 'Null' hat. Wenn aber das Object zurückgeliefert wird, kommt der Fehler: "Variant does not contain an object."!

Was ist hier falsch???



Vermutung: Es liegt an der Deklaration der Variablen 'connected' (As Variant)?! Wie müsste denn sonst die Deklaration aussehen?

Danke und Gruß

it898ur:
Hallo,

die Lotus Script to Java Bridge unterstützt nur einfache Datentypen (String, Integer) und keine Objekte !

Gruß

André

magic_halli:

--- Zitat von: it898ur am 23.12.08 - 13:54:17 ---Hallo,

die Lotus Script to Java Bridge unterstützt nur einfache Datentypen (String, Integer) und keine Objekte !

--- Ende Zitat ---
...also keine Chance einen Rückgabewert, der ein Object ist, auszuwerten?! Mh, Mist.

Danke

flaite:
Aber das Objekt dürfte doch datenmässig aus verschiedenen erlaubten Datentypen bestehen.
Da kannst du dann im Objekt getter-Methoden reinmachen.

Beispiel:

--- Code: ---class Person {

String name;
int age;

public String getName() {
return this.name;
}

public int getAge() {
return this.age;
}
}

--- Ende Code ---
Diese getter-Methoden kannst du dann wiederum aus LS2J ansprechen.

magic_halli:
Ich habs jetzt über nen "Umweg" gelöst... In Java eine neue Methode geschrieben, in welcher meine eigentliche Methode, die Null oder das Object liefert, ausgeführt wird und dann, je nachdem was als return kommt einfach nen boolschen-Wert gesetzt. Diesen boolschen Wert lasse ich mir nun durch meine quasi "Hilfsmethode" zurückliefern und rufe diese dann auch mittels LS2J in Notes auf.
Klappt!  ;D   

@Pitiyankee
Getter passen leider in der einen Klasse nicht ins Konzept. Von daher jetzt diese Lösung.


Danke und Gruß

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln