Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: theBastian am 23.12.10 - 11:49:55

Titel: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: theBastian am 23.12.10 - 11:49:55
Hallo allerseits,

kurz vor Weihnachten möchte ich Euch nochmal zeigen, wie schlechts bei mir mit Arrays aussieht.

Code
Dim vSG As Variant
Dim vschl(0) As String
vschl(0) = "test"
vSG = Arrayappend (vSG,vschl)

Bringt immer Type mismatch.

Sicher, weil das Array vSG noch leer ist, oder?  :-:
Muss ich das Array vorher mit Redim mindestens den Index 0 verpassen?
Oder mit IsEmpty testen? Aber auch da muss ich doch redimmen.

Oder denke ich in die völlig falsche Richtung?

Danke Euch schonmal für die Hilfe.

Sebastian
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: Peter Klett am 23.12.10 - 12:01:00
Die Frage ist, was Du erreichen möchtest. Wenn vsg nichts beinhaltet, was soll dann passieren?

Probier mal

If IsArray (vsg) Then
  vsg = ArrayAppend (vsg, vSchl)
Else
   vsg = vSchl
End If

Falls bei leerem vsg ein leerer Eintrag angenommen wird, führst du das von Dir genannte Redim vorher aus
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: ascabg am 23.12.10 - 12:04:17
Hallo,

Also fuer mich waere die Hilfe zu ArrayAppend schon aussagekraeftiog genug.
Zitat
ArrayAppend throws a Type mismatch error if:
sourceArray1 is not an array

Andreas
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: theBastian am 23.12.10 - 13:29:06
Danke Euch, habs verstanden.

Also immer erst prüfen, ob es schon ein Array ist und dann ArrayAppend.
Aber wie kann ich ich ein Array dimensionieren, dass leer ist, damit ArrayAppend auch ohne den vorherigen Test mit IsArray funktioniert?

Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: Peter Klett am 23.12.10 - 13:55:14
Es gibt kein Array ohne Elemente
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: ascabg am 23.12.10 - 14:00:05
Leer heisst wahrscheinlich indem Fall, dem Element des Arrays ist noch kein Wert zugewiesen.
Also nach dem Motto

Dim vSG(0)

vSG1 = ArrayAppend(vSG, Array2)


Andreas
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: theBastian am 23.12.10 - 14:03:51
Es gibt kein Array ohne Elemente

Ach darum hat es nicht funktioniert.  :-[
Aber dank Deines Beispiels hab ich es lösen können.
Für alle, die ähnliche Fragen haben, hier meine Lösung.

Code
If Isarray (vSG) Then
vSG = Fulltrim(Arrayappend (vSG,schl))
Else
Redim vSG(0)       
vSG(0) = schl

Dabei ist schl ein String.

Grüße und Schöne Weihnachten.
Sebastian
Titel: Re: Arrayappend mit leerem Array bringt type mismatch
Beitrag von: theBastian am 23.12.10 - 14:05:31
Leer heisst wahrscheinlich indem Fall, dem Element des Arrays ist noch kein Wert zugewiesen.
Also nach dem Motto

Dim vSG(0)

vSG1 = ArrayAppend(vSG, Array2)

Ich wollte für vSG aber nicht zwei Arrays verwenden. Und das scheint nicht zu gehen, wenn vSG noch kein Array ist.