Domino 9 und frühere Versionen > ND8: Entwicklung
LS2J und Type Mismatch
magic_halli:
Hallo,
ich arbeite mich gerade in LS2J ein. Ich möchte verstehen und später nutzen, wie die Parameterübergabe aus LotusScript-Agents an eine Java-Anwendung vonstatten geht.
Soweit ist mir das auch erstmal relativ klar.
Jetzt habe ich eine total simple LS2J-Anwendung geschrieben:
1. ein LotusScript-Agent ließt aus einem selectierten Maildokument den Betreff aus
2. im Agent erfolgt die Parameterübergabe des Betreff´s an die Java-Scriptbibliothek
3. die Scripbibliothek stellt den Betreff lediglich in einem JOptionPane.showMessageDialog wieder dar.
Nur leider habe ich eine "Type Mismatch"-Exception, wenn ich im LotusScript-Agent den Mailbetreff in einer Stringvariable speichern will, um diese dann an Java zu übergeben!
LotusScrip-Agent:
--- Code: ---Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Dim jSession As JavaSession
Dim jError As JavaError
Dim jClass As JavaClass
Dim jObject As JavaObject
Dim sBetreff As String
' hier kommt der "Type Mismatch"
sBetreff = doc.GetItemValue( "Subject" )
Set jSession = New JavaSession
Set jClass = jSession.GetClass("DocumentLS2J")
Set jObject = jClass.CreateObject()
'Java-Methoden aufrufen
jObject.setBetreff(sBetreff)
jObject.showBetreff(jObject.getBetreff())
End Sub
--- Ende Code ---
Ich habe auch schon 'sBetreff = Cstr(doc.GetItemValue( "Subject" ))' versucht - hat auch nix gebracht (gleiche Meldung).
Was hab ich falsch gemacht?
Danke und Gruß
DAU-in:
sBetreff = doc.GetItemValue( "Subject" )(0)
Edit: getItemValue liefert dir ein Array, das kannst du nicht einer Stringvariablen zuweisen, mit (0) greifst du explizit auf das erste Element zu
magic_halli:
Ha, jawohl... klappt. Danke
Ich schau jetzt auch gleich nochmal in der Hilfe nach... Aber kannst Du mir die (0) erklären? ...heißt das an der Stelle 0?
flaite:
doc.getItemValue("feldName") gibt einen Array zurück.
(0) bedeutet das erste Element dieses Arrays.
koehlerbv:
Und genau das hat doch DAU-in schon geschrieben ...
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln