Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: flaite am 23.11.05 - 18:02:28

Titel: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: flaite am 23.11.05 - 18:02:28
Code
dim itRtTemplate As Variant
[...]
Set itRtTemplate = docTemplate.getIFirstItem("Body")
		If itRTTemplate.Type = RICHTEXT Then
			If strCallTyp = "Anlage" Then 
				Call appendFieldsAnhaenge(docTemplate, "AnlagenAnzeige", itRTTemplate, "")
			Else
				Call appendFieldsBody(docTemplate, "Topic",  itRTTemplate, "")
			End If
		Else 
			Msgbox |Das Feld "Template" im gewählten Dokument ist nicht vom Typ RichText.|, 16, "Interner Fehler" 
			Exit Sub
		End If

schon mal erlebt oder was kann das sein?

Gruß Axel
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: koehlerbv am 23.11.05 - 18:06:40
Hast Du den Code kopiert ? Wenn ja: Die Methode getIFirstItem jibbet nicht, da ist ein "I" zuviel drin. Aber dann müsste ja schon der Compiler meckern, wenn Du da nicht eine undokumentierte Methode gefunden hast.
Ansonsten sieht das vollkommen standardkonform aus. Knallt es wirklich in der Zeile "Set iRtTemplate = ..." ?

Bernhard
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: Glombi am 23.11.05 - 18:13:23
Also der Compiler meckert nicht. Wenn tatsächlich ein "getIFirstItem" da steht, kommt beim Ausführen "Type mismatch". Ich tippe also wie Bernhard auf "I"

Andreas
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: koehlerbv am 23.11.05 - 18:21:45
Ha - wieder ein dunkles Geheimnis von Iris entdeckt !
Danke, Andreas, für das Probieren.

Bernhard
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: flaite am 23.11.05 - 18:24:10
krasse Sache.
Ihr habt recht  ;D
Nachdem ich das I entfernt habe, funktioniert es.
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: flaite am 23.11.05 - 18:26:25
Ha - wieder ein dunkles Geheimnis von Iris entdeckt !

Dazu äußere ich mich nicht mehr.
Ben Langhinrich hat gesagt, dass er sich seit 8.5 Jahren mit Notes RichText beschäftigt und immer noch neue Dinge entdeckt "on a daily basis"  ;D
Das ist einfach nicht zu toppen.  ;)
Eigentlich wusste ich auch, dass der Compiler das durchgehen läßt.
Bin aber seit heute mittag am rätseln, wobei ich zwischendurch andere Sachen gemacht habe.
Ich vertippe mich einfach selten, weil ich 10-finger-System kann.
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: koehlerbv am 23.11.05 - 18:55:11
Naja, es funktioniert ja "as designed". Interessant wäre mal zu erfahren, warum Funktionen eingebaut sind, die dann nicht dokumentiert werden. Ich würde erwarten, dass derartige Funktionalität dann gar nicht für produktive Versionen kompiliert wird. Wenn man aber manchmal dahinter kommt, was die nicht dokumentierte Funktion macht, dann bedauert man häufig, dass es eben nicht dokumentiert ist (und damit in seriösen Apps nicht verbaut werden darf). Ein schönes Beispiel hierfür ist NotesUIDocument.ModifiedSinceSaved. Genial - aber nicht "offiziell".

Bernhard
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: TMC am 23.11.05 - 19:16:31
Interessant wäre mal zu erfahren, warum Funktionen eingebaut sind, die dann nicht dokumentiert werden.

http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/75c11b9cfd40f50485256b2800397d44?OpenDocument
http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/be3c0d0b1486fdcb85256a780078aecc?OpenDocument

Wobei für mich nur der Grund zählt, dass was schlichtweg vergessen wurde zu dokumentieren, was aber z.B. bei uidoc.ModifiedSinceSaved ja gerade nicht der Fall sein kann, da es das schon sehr lange gibt....
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: Glombi am 23.11.05 - 20:23:05
In diesem Fall handelt es sich aber nicht um eine undokumentierte Funktion. Auch ein

Set itRtTemplate = docTemplate.JibbetNicht("Body")

wird klaglos akzeptiert. Ich vermute mal, dass die Extended Class Syntax damit zu tun hat.

Andreas
Titel: Re: Variant = doc.getFirstItem("itemName") wirft Type missmatch?
Beitrag von: koehlerbv am 23.11.05 - 21:14:21
Hm. Gute Erklärung, denke ich. Und Type mismatch ist dem Fakt geschuldet, dass ein String kein gültiger Indexwert (Integer) ist.

Bernhard