Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: valheru am 20.09.03 - 15:17:02

Titel: Testen, ob RTItem.EmbeddedObjects leer ist
Beitrag von: valheru am 20.09.03 - 15:17:02
Hallo,

ich habe ein RichTextFeld und möchte in Postopen testen, ob dies ein eingebettetes Element enthält.
Dazu habe ich folgendes Skript gebastelt:


Set currentdoc = uidoc.Document
   Set rtitem = currentdoc.GetFirstItem("progressbar")
   If Isnull(rtitem.EmbeddedObjects(1)) Then
      Msgbox("Nothing")
   Else
      Msgbox("O.K.")
   End If

Da bekomme ich immer den Fehler Variant does not contain a container. Ich habe auch schon versucht das (1) wegzulassen oder den EmbObjArray erst an ein Variant zu übergeben klappt aber leider nicht.

Habe leider auch in der Suche nichts gefunden und hoffe auf einen kurzen Tip von Euch. Schonmal herzlichen Dank!

Gruß, valheru.
Titel: Re:Testen, ob RTItem.EmbeddedObjects leer ist
Beitrag von: koehlerbv am 20.09.03 - 15:30:54
Von der Property bekommst Du ja ein Array zurück, daher ist IsNull falsch - es muß IsEmpty heissen.
Der Bezug auf den Eintrag (1) ist sowieso verkehrt. Also: Keinen Indexbezug benutzen, sondern folgende Syntax verwenden:

notesEmbeddedObjectArray = notesRichTextItem.EmbeddedObjects

Weiterer Tip:
Instantiierte Objekte immer prüfen. Beispiel entspr. Deines Codes:
Set rtitem = currentdoc.GetFirstItem("progressbar")
If rtitem is nothing then
   MessageBox "Item nicht vorhanden !"
   Exit Sub
End If

HTH,
Bernhard

Titel: Re:Testen, ob RTItem.EmbeddedObjects leer ist
Beitrag von: valheru am 22.09.03 - 10:46:11
Danke.

Ich hab es gerade mal ausprobiert. Wieso gibt es aber eine Fehlermeldung beim Anlegen eines neuen Dokuments?

If Isempty(rtitem.EmbeddedObjects) Then

liefert dann die Fehlermeldung object variable not set.


Gruß, valheru
Titel: Re:Testen, ob RTItem.EmbeddedObjects leer ist
Beitrag von: koehlerbv am 22.09.03 - 11:01:32
Das habe ich unter "weiterer Tip" bereits geschrieben.