Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jürgen Gerhold am 28.03.05 - 10:42:55
-
Ich habe eine eigene Script-Bibliothek angelegt und dort eigene Functionen erstellt. Nun habe ich folgendes Problem:
Wenn ich die Function wie folgt declariere kann ich sie ohne Fehlermeldung aufrufen.
Function Ostern (Jahr As Integer) as Integer
Dim a,b,c,d,e,f,g,h As Integer
.....
Ostern = i + j+22
Ändere ich die Function wiefolgt ab, bekomme ich eine Fehlermeldung beim Aufruf der Function.
Type mismatch on external Name : Ostern
Function Ostern (Jahr As Integer) as String
Dim a,b,c,d,e,f,g,h As Integer
.....
Ostern = Str(i + j+22)
Ich kann mir nicht klären worum.
-
hmm, habe dein Codefragment sowohl unter R5 als auch unter R6 getestet und erhalte keine Fehlermeldung.
Ist evtl die Variable, die den Wert von "Ostern" aufnimmt noch als integer deklariert ?
-
Dim a,b,c,d,e,f,g,h As Integer
Hat jetzt wohl nichts mit der Fehlermeldung zu tun, aber damit deklarierst Du nur h als Integer. a,b,c,d,e,f,g sind so als Variant deklariert.
Besser:
Dim a As Integer,b As Integer,c As Integer,d As Integer,e As Integer,f As Integer,g As Integer, h As Integer
Und ja, ich vermute auch, dass die Variable "Ostern" nicht als String deklariert wurde.
-
seltsam, selbst mit diesem CodeHorror kann ich keine FM erzeugen
Sub Click(Source As Button)
Dim retval As Integer
retval = Ostern("1999")
Msgbox retval
End Sub
Function Ostern (Jahr As Integer) As String
'Dim i,j As Integer
Ostern = Str(i + j+22)
End Function
-
Die Fehlermeldung kommt immer dann, wenn du die Signatur einer Funktion änderst und die Funktionsaufrufe nicht anpasst. Nach dem Ändern der Signatur einer Funktion musst du alles Script, das die Funktion verwendet neu kompilieren. In R5 manuell (oder automatisch mit Klimmzügen) in Notes 6 automatisch mit der Funktionalität des Designers.
-
seltsam, selbst mit diesem CodeHorror kann ich keine FM erzeugen
Sub Click(Source As Button)
Dim retval As Integer
retval = Ostern("1999")
Msgbox retval
End Sub
Function Ostern (Jahr As Integer) As String
'Dim i,j As Integer
Ostern = Str(i + j+22)
End Function
hehe. Code-Horror find ich gut.
Das liegt wohl daran, dass LotusScript da (und nicht nur da) eine automatische Typenumwandlung macht