Autor Thema: Umstellung von R5 auf R6.5  (Gelesen 2802 mal)

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Umstellung von R5 auf R6.5
« am: 13.09.05 - 16:15:43 »
Hallo,

spät aber doch stellen wir nun endlich auch auf R6.5 um. Bin jetzt grad dabei, meine Datenbanken auf einem Pilotserver zu testen und das einzige, wo´s mich aufhaut ist ein Script, das im Queryopen drin ist. Es dient dazu, daß man ein Dokument, daß bereits bearbeitet wird, nicht nochmals in den Bearbeite-Modus setzen kann. Wenn ich das Dokument unter 6.5 öffne, bekomme ich die Fehlermeldung "Wrong number of arguments for method". Kann mir jemand sagen, was dran falsch ist, hab den Code nämlich aus dem Forum hier. DANKE

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   If (Source.IsNewDoc) Then
      Exit Sub
   End If  'New Doc, Lock not reqd
   Dim varLock As Variant
   Dim session As New NotesSession
   Dim nnUserName As New NotesName(session.UserName)
   Set docBackend=Source.document
   varLock=docBackend.GetItemValue("Lock")
   If (varLock(0) <> "") Then
      Msgbox ("Dokument wird gerade bearbeitet von "+varLock(0)+". Das Dokument wird im <LESENMODUS> geöffnet.")
      Exit Sub
   End If
   docBackend.Lock=nnUserName.Common
   Call docBackend.Save(True,True)
End Sub

Offline Roalf

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Ich bin ein speicherrenitentes Programm!
Re: Umstellung von R5 auf R6.5
« Antwort #1 am: 13.09.05 - 16:29:28 »
versuche mal den Queryopen im designer zu öffnen., zu ändern (eine leerzeile oder so) und Strg-S zu dücken. Es gibt immer noch den Bug, das das Queryopen beim Speichern nicht neu kompiliert wird, wenn man es nicht explizit verändert hat.

Und bei Complilieren sollten der Compiler die Zeile anzeigen, die den Fehler wirft.
Notes: Unbegreifliche Lösungen für unlösbare Probleme

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Umstellung von R5 auf R6.5
« Antwort #2 am: 14.09.05 - 09:00:19 »
Hi,

interessant wäre es, an welcher Stelle er aussteigt. Benutz doch mal den Debugger.

Was mir außerdem aufgefallen ist, es fehlt die Deklaration der Variable docBackend.


Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   If (Source.IsNewDoc) Then
      Exit Sub
   End If  'New Doc, Lock not reqd
   Dim varLock As Variant
   Dim session As New NotesSession
   Dim nnUserName As New NotesName(session.UserName)
   Dim docBackend As NotesDocument
   Set docBackend=Source.document
   varLock=docBackend.GetItemValue("Lock")
   If (varLock(0) <> "") Then
      Msgbox ("Dokument wird gerade bearbeitet von "+varLock(0)+". Das Dokument wird im <LESENMODUS> geöffnet.")
      Exit Sub
   End If
   docBackend.Lock=nnUserName.Common
   Call docBackend.Save(True,True)
End Sub

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Glombi

  • Gast
Re: Umstellung von R5 auf R6.5
« Antwort #3 am: 14.09.05 - 09:08:53 »
Es wird an dem "Lock" liegen. Lock ist in R6 eine Methode für NotesDocument:

Aus der Hilfe:
Locks a document.
Hinweis  This method is new with Release 6.
Defined in
NotesDocument
Syntax
flag = notesDocument.Lock( [ name ] [, provisionalOK ] )
Parameters
name
Array of type String. Optional. The names of the lock holders. Each lock holder must be a user or group. Defaults to one lock holder: the effective user. The empty string ("") is not permitted in the array.
provisionalOK
Boolean. Optional.
True permits the placement of a provisional lock.
False (default) does not permit a provisional lock.
Return value
flag
Boolean.
True if the lock is placed.
False if the lock is not placed.


Du musst also anstelle von
 docBackend.Lock=nnUserName.Common
folgendes machen:
 call docBackend.ReplaceItemValue("Lock", nnUserName.Common )

Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Umstellung von R5 auf R6.5
« Antwort #4 am: 14.09.05 - 09:15:03 »
Es wird an dem "Lock" liegen. Lock ist in R6 eine Methode für NotesDocument:

Sie hat doch geschrieben, dass sie das Ganze auf einem Pilotserver mit 6.5 testet.


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Umstellung von R5 auf R6.5
« Antwort #5 am: 14.09.05 - 09:21:35 »
Glombi hat recht:

diese Zeile:
docBackend.Lock=nnUserName.Common

setzt in R5 ein Feld Namens "Lock"

in R6 versucht er die "lock"- Methode der NotesDocument- Klasse durchzuführen, aber dafür will er Argumente haben.

Also muss die Zeile durch

Call docBackend.ReplaceItemValue( "Lock" , nnUserName.Common )

ersetzt werden.

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Umstellung von R5 auf R6.5
« Antwort #6 am: 14.09.05 - 09:32:09 »
Yoo ihr habt recht. Diesen kleinen, aber feinen Unterschied hab ich übersehen.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Umstellung von R5 auf R6.5
« Antwort #7 am: 14.09.05 - 10:15:39 »
he, ihr seid alle voll supa, DANKE!!!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz