Bin grade über ein seltsames Phänomen gestolpert, das ich mir nicht wirklich erklären kann.
Hintergrund: Ich habe eine "generische" Funktion, um Dokumentwerte (vergleichbar) zu setzen. Im Dokument kommt aber nicht das an, was ich setze. Hier ein Auszug aus einem Agenten mit dem minimalen Code um das Problem zu reproduzieren:
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim doc as NotesDocument
Dim arrValue(0) As Variant
Dim s as Single
Set db = ses.CurrentDatabase
Set doc = db.UnprocessedDocuments.GetFirstDocument
s = 1
arrValue(0) = s
msgbox arrValue(0)
Call doc.ReplaceItemValue( "AAA" , arrValue )
msgbox doc.GetItemValue( "AAA" )(0)
Messagebox 1:
1
Messagebox 2:
5,26354424712089E-315
Kann sich das jemand erklären? Passiert da eine seltsame Type- Conversion beim schreiben eines Single in ein Variant- Array?