Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 08.04.04 - 21:37:08

Titel: Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 21:37:08
Hi,

schon oft gehabt, nur schüttle ich grad was aus dem Ärmel, weil ich jetzt keinen Zugriff auf bisherige DBs habe.

Über:
Code
Set docProfile = db.GetProfileDocument("Settings")
strProfileText = docProfile.Settings_Text(0)
lese ich ein Profil-Textfeld aus.

Diesem Text will ich ins Body einer Mail appenden:
Code
Call rtiMail.AppendText(strProfileText)   

So klappt das auch. Nur hat mein Textfeld mehrere Zeilen.

Wie übergebe ich gleich nochmal mehrere Zeilen?
Wenn ich das "(0)" weglasse im der Zeile "strProfileText =....:", dann bekomme ich einen Type Mismatch Fehler in genau dieser Zeile.
Als Variant definiert will er das auch nicht.

Eigentlich eine Anfängerfrage   :P

Bin mir sicher es ist eine Kleinigkeit, vielleicht sollte ich jetzt auch aufhören und besser die Eiersuche vorbereiten   :D


Matthias
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: Axel am 08.04.04 - 21:44:37
Hi,

ich denke du brauchst ein Array.

So ungefähr:

Dim arrText() As String
Dim idx As Integer
...
Redim arrText(Ubound(docProfile.Settings_Text))
For idx = 0 to Ubound(docProfile.Settings_Text)
  arrText(idx) = docProfile.Settings_Text(idx)
Next
...


Fröhliches Eiersuchen
Axel
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 21:52:33
Danke Axel.

Meinst Du wirklich, ich brauche hier ein Array und es geht nicht einfacher?

Gut, ich weiss wenn DU sowas sagst, dann gibt es wohl keine einfachere Alternative :-)

Wie verhält es sich, wenn es z.B. ein Namensfeld ist (SendTo), und dort auch mehrere Empfänger eingetragen werden, auch über Array?

Eigentlich schade, ich wollte das über eine Einzeiler-Zuordnung lösen.....

Aber gut, da muss man durch  :)

Matthias
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: Axel am 08.04.04 - 21:55:29
Hi,

ich denke bei einem Namensfeld geht es genauso.

Ich kenne keine einfachere Lösung, was aber nicht heißen will, dass es keine einfachere gibt. Ich bin auch nicht allwissend (leider ;) :-\). Man lernt ja nie aus.


Axel

Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 22:01:17
Danke Axel. Hat mir sehr geholfen (und vor wilden Experimenten bewahrt).

Mit dem nie auslernen hast Du Recht, aber sonst wäre es ja auch langweilig  ;)


Schönen Abend,

Matthias
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: Semeaphoros am 08.04.04 - 22:31:06
Probier mal

Call rtiMail.AppendText(docProfile.GetItemValue("Settings_Text"))

Nicht sicher, obs bei rti geht, bei normalen Items geht das.

Sonst gibts noch das:

Forall strTemp in docProfile.GetItemValue("Settings_Text")
  Call rtiMail.AppendText(strTemp)
End Forall
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 22:56:59
Der Fehler lag völlig anders (eigentlich logisch):

Im Profildokument war in den Textfeldeigenschaften "Allow multiple values" selektiert.

So kann das nicht gehen.
De-selektiert man diese Property, dann klappt es auch ganz normal mit
strProfileText = docProfile.Settings_Text(0) und Call rtiMail.AppendText(strProfileText).

Sprich so wird auch trotz ENTER (also Char(10) bzw. Char(13)) der ganze Inhalt in EIN String kopiert.

Trotzdem nochmal danke Axel und auch Jens - und sorry für die Verwirrung.

Matthias
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 23:07:59
Nachtrag:

Damit ich das SendTo - Feld mit mehreren Empfängern füllen kann, definiere ich den Namensfeld-Inhalt als Variant, dann klappt auch das sauber.

Happy Easter,

Matthias
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: Semeaphoros am 08.04.04 - 23:09:47
Na ja, kommt drauf an, Multivalue-Texte machen durchaus manchmal Sinn, bzw. im Bäckend sind es ja sowieso immer Multivalue-Items, man muss also mit mehreren Werten rechnen. Klar, wenn Du die einzelnen "Einträge" nicht einzeln brauchst, macht das Sinn, das als einen einzigen String abzulegen.
Titel: Re:Type Mismatch: String in Richtextfeld?
Beitrag von: TMC am 08.04.04 - 23:15:31
Klar.
Nur in diesem speziellen Fall halt nicht, weil es plain Text ist, der in eine Workflow-Mail wandert. Da reicht ein einfaches String.

Trotzdem hätte ich gleich draufkommen sollen, dass es an dem Allow multiple values - Flag liegt, aber so ist es ja meist  ;)

Ich habe schon sämtliche Dinge angezweifelt, wegen diesem "blöden" Flag :-)

Habe mir aber jetzt eine unruhige Nacht erspart, es hätte mich sehr geärgert, wenn ich nicht heute noch die Lösung gefunden hätte  :D

Matthias