Domino 9 und frühere Versionen > ND7: Entwicklung
Kleines Problem mit Namen und Evaluate
C_T:
axo sry vergessen
explizit bei diesemaufruf habe ich das Problem.
--- Code: ---Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim item As NotesItem
Dim ItemDok As NotesItem
Set uidoc = workspace.CurrentDocument
Set db = session.CurrentDatabase
Set doc = uidoc.Document
commonuser = session.CommonUserName
flag = workspace.DialogBox( "fMessage" , False , False)
If flag = True Then
Set item = doc.GetFirstItem("send")
Set ItemDok = doc.GetFirstItem("Dok")
If doc.User(0) <> "" Then
For i = 0 To Ubound(doc.User)
If Not item.Contains(doc.User(i)) Then
Call mail(doc.User(i),"INFO")
item.AppendToTextList(doc.User(i))
End If
Next
End If
--- Ende Code ---
Ich habe auch nachgeschaut ist ein Wert mit "CN=" in dem an drin.....
ata:
... du übergibst einen Variant, verwendest in deiner Sub Mail() aber einen String - konvertiere im Evaluate das "an" mit Cstr( an ) - dann sollte es gehen
Toni
MadMetzger:
--- Zitat von: C_T am 10.03.08 - 16:05:57 ---
--- Code: ---Sub Mail (An,Art As String)
--- Ende Code ---
--- Ende Zitat ---
Jetzt sehe ich es erst... Wenn ich mich jetzt nicht täusche, sollte sich die Parameterdefinition genauso verhalten, wie die Deklaration von Variablen:
Ein
--- Code: ---Dim An,Art As String
--- Ende Code ---
erzeugt dir offensichtlich zwei Variablen. Aber was nicht so offensichtlich ist: An ist vom Typ Variant und Art ist vom Typ String. Jetzt hast du zwei Alternativen: Die erste hat dir Anton schon genannt, nämlich die Konvertierung des Variants in einen String bei der Verwendung. Die andere ist, dass du deinen Parameter für die Prozedur auch zum String machst, dann brauchst du ihn bei Verwendung nicht konvertieren. Hierbei musst du halt wissen, wo du die Prozedur noch verwendest. Danach kannst du halt entscheiden, was für dich sinnvoller ist. Aber dem Code der Prozedur nach, würde ich den Parameter explizit zum String machen.
ata:
... die Deklaration in der Sub ist "etwas" unsauber - es ist auch kein Variant notwendig - das wäre anders, wenn eine Textliste übergeben werden würde, was hier aber nicht ansteht...
Toni
C_T:
SO habe das mal geändert, doch jeztt bekomme ich immernoch ein TypeMissmatch
Änderung:
--- Code: --- NameAn = Cstr(Evaluate(|@name([CN];" | & an & | ")|))
--- Ende Code ---
zu
--- Code: --- Dim NameT As String
NameT = Cstr(an)
NameAn = Cstr(Evaluate(|@name([CN];" | & NameT & | ")|))
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln