Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: rambrand am 10.12.15 - 11:54:45

Titel: Übergabe einer Liste
Beitrag von: rambrand am 10.12.15 - 11:54:45
Hallo,

ich habe in einem Dokument eine Liste (List as String) und wollte diese an eine Funktion aus einer Scriptbibliothek übergeben.
Da komme ich nicht drauf, wie ich diese korrekt übergeben kann.

Function Test (Liste List as String) bekomme ich einen Type mismatch beim Aufruf der Funktion aus dem Dokument.
Function Test (Liste as Variant) bekomme ich einen Type mismatch in der Funktion, sobald auf die Liste zugegriffen werden soll.

Geht das überhaupt? Oder muss ich hier dann doch eher mit einem Array arbeiten um die Werte an eine Funktion/Sub zu übergeben?

Bye
Markus
Titel: Re: Übergabe einer Liste
Beitrag von: pram am 10.12.15 - 12:58:47
Zitat
ich habe in einem Dokument eine Liste (List as String)
Ein (Notes)Dokument kann keine Listen enthalten, nur Arrays. Vielleicht liegt da dein Denkfehler.
Titel: Re: Übergabe einer Liste
Beitrag von: rambrand am 10.12.15 - 13:15:33
Ich hab mich falsch ausgedrückt. Ich erstelle über den PostOpen eines Dokuments eine Liste.

Dim Liste List as String

Die befülle ich mit Werten und möchte diese Liste an eine Funktion übergeben. Da hapert es dann.

Bye
Markus
Titel: Re: Übergabe einer Liste
Beitrag von: Tode am 10.12.15 - 13:25:34
Also eigentlich sollte das zweite funktionieren, hier ist funktionierender Code (grade ausprobiert):

Code
Sub Test1()
  Dim myList List as String
  myList( "TEST" ) = "Hallo Welt"
  Call Test2( myList )
End Sub
Sub Test2( varList as Variant )
  Msgbox varList( "TEST" )
End Sub
Titel: Re: Übergabe einer Liste
Beitrag von: TRO am 10.12.15 - 14:07:54
und bei mir funktioniert auch das hier
Code

Option Declare

Sub Click(Source As Button)
	Dim sListe List As String
	
	sListe( "a" ) = ""
	sListe( "b" ) = ""
	
	Call p_PrintListe( sListe )
	
End Sub

Sub p_PrintListe( x_sListe List As String )
	
	Forall e In x_sListe
		Print Listtag( e )
	End Forall
	
End Sub
Titel: Re: Übergabe einer Liste
Beitrag von: Tode am 10.12.15 - 14:19:02
Stimmt... ich bin aber sicher, dass das nicht unter allen Umständen funktioniert... Weiss nur nicht mehr, wann es mal nicht funktioniert hat.

EIn Kollege hat sich wieder erinnert: Man kann keine Liste ZURÜCKLIEFERN als Ergebnis einer Funktion...
Titel: Re: Übergabe einer Liste
Beitrag von: rambrand am 10.12.15 - 14:40:09
Danke für die Codebeispiele. Die haben bei mir alle funktioniert.
Und da ich nur die Liste an die Funktion geben will, aber keine zurück möchte, ist mir das Beweis genug, dass es funktionieren muss.

Ich schau mir das nochmal genau an.

Bye
Markus

Titel: Re: Übergabe einer Liste
Beitrag von: TRO am 10.12.15 - 14:40:44
... aber man kann die zurückzugebende Liste als Parameter übergeben und dann in der Sub füllen.

Thomas
Titel: Re: Übergabe einer Liste
Beitrag von: Tode am 10.12.15 - 16:06:22
Ja, so haben wir das dann auch gemacht