Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gruenkohl am 10.11.04 - 15:14:45

Titel: Variable DB an Funktion übergeben ...
Beitrag von: Gruenkohl am 10.11.04 - 15:14:45
Ich glaub ich steh auf'em Schlauch...    ???
Ich habe einen Teil des Scriptes in eine Funktion kopiert.
Dieser habe ich den Parameter "DB" übergeben.

Jetzt bekomme ich einen: Typ-Mismatch on DB  :o

Wenn ich in der Funktion DB neu dekl. und setze ist es OK.
Aber das ist ja nicht Sinn der Sache.

Code
Sub Initialize
Dim s as New NotesSession
Dim db as NotesDatabase
Set db = s.CurrentDatabase

Call Test(db)
end sub

Function Test(db)
...
Set Doc = New NotesDocument(DB) <--- hier
...
End Function

Hat jemand eine Idee woran das liegen kann?

Danke und Gruss
Andreas
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: Driri am 10.11.04 - 15:16:53
Ja, Du mußt in der Funktion den Typ definieren, sonst wird IMO Variant angenommen.

Also so :
...
Function Test(db As NotesDatabase)
...
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: Gruenkohl am 10.11.04 - 15:25:22
OK ???
So klappt es.
Aber ich habe sonst schon öfters eine DB ohne diesen Parameter übergeben.
Verstehen muss ich das nicht....

Aber gut, es klappt, danke!
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: Axel am 10.11.04 - 15:30:07
Hi,

vielleicht war da die Variable global definiert.


Axel
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: Gruenkohl am 10.11.04 - 15:50:19
ähhh, nein. ;)
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: koehlerbv am 10.11.04 - 15:54:58
Dann hat das auch früher nicht geklappt. Abgesehen davon muss für eine saubere Programmierung jede Variable explizit deklariert werden.

Bernhard
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: Semeaphoros am 10.11.04 - 16:29:05
Noch als Ergänzung: es kommt vor, dass die übergebene Variable im aufrufenden Programm als Variant deklariert sein muss, damit die Uebergabe funktioniert (sog. "Late Binding").
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: joan am 10.11.04 - 16:53:42
Läuft das Script unter R6? Das ist etwas pingeliger als R5, was diese Deklarationen angeht.

Ciao, ...Joachim
Titel: Re: Variable DB an Funktion übergeben ...
Beitrag von: koehlerbv am 10.11.04 - 16:55:51
Das erstgenannte Konstrukt lässt sich auch unter R5 nicht kompilieren  ;)

Bernhard