Autor Thema: LS2J und Type Mismatch  (Gelesen 2723 mal)

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
LS2J und Type Mismatch
« am: 25.11.08 - 14:52:54 »
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

Ich habe auch schon 'sBetreff = Cstr(doc.GetItemValue( "Subject" ))' versucht - hat auch nix gebracht (gleiche Meldung).
Was hab ich falsch gemacht?

Danke und Gruß
Lotus Notes 8.0.2

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: LS2J und Type Mismatch
« Antwort #1 am: 25.11.08 - 14:54:11 »
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

« Letzte Änderung: 25.11.08 - 14:55:55 von DAU-in »
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: LS2J und Type Mismatch
« Antwort #2 am: 25.11.08 - 14:58:15 »
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?
Lotus Notes 8.0.2

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: LS2J und Type Mismatch
« Antwort #3 am: 25.11.08 - 14:59:49 »
doc.getItemValue("feldName") gibt einen Array zurück.
(0) bedeutet das erste Element dieses Arrays.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS2J und Type Mismatch
« Antwort #4 am: 25.11.08 - 15:00:37 »
Und genau das hat doch DAU-in schon geschrieben ...

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: LS2J und Type Mismatch
« Antwort #5 am: 25.11.08 - 15:01:47 »
(0) bedeutet das Array-element an 0.ter Stelle

wenn du die den Zählbeginn nicht explizit umstellst, ist der 0. Wert der erste (und bei nicht-Mehrfachwerten der einzige)

aber auch wenn nur ein Wert drinsteht, ist es halt ein Unterschied, ob du das Array oder das Element ansprichst
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: LS2J und Type Mismatch
« Antwort #6 am: 25.11.08 - 15:03:53 »
Ok, alles klar... hab schon auf ein Array spekuliert - wollte nur auf Nummer sicher gehen.  ;)

Zitat
Und genau das hat doch DAU-in schon geschrieben ...
Der Edit hat sich anscheinend mit meiner Schreiberei überschnitten...

Danke und Gruß
Lotus Notes 8.0.2

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz