Autor Thema: Beim Löschen von Private Views per Script stürzt Notes ab  (Gelesen 2198 mal)

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Hallo,

ich ändere gerade ein DB, die unter anderem Private Views enthält (Shared, Private on first use). Beim Schließen der DB sollen die Priv. Views des jeweiligen Users gelöscht werden.

Dazu habe ich folgendes Script im QueryClose der DB:

Code
Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
	'Script to delete privates views of the current user	
	On Error Goto errHandler	
	Dim session As New notessession
	Dim db As NotesDatabase
	Dim vUserName As Variant
	
	'Get current user	
	Set vUserName=New notesname(session.username)
	Set db = Source.database 
	count=0     
	Print "Suche private Ansichten ..."
	
	Forall v In db.views
		'Check if readers is empty
		If Not Isempty(v.readers) Then
		'Check if readers is current user
			equality=False
			For i=0 To Ubound(v.readers)
				If v.readers(0)=vusername.canonical Then
					equality=True
					Exit For
				End If
			Next
			If equality = True Then
				'Check if view is private
				If v.isPrivate Then                   
					count=count+1                
					v.remove                       
				End If
			End If
		End If
	End Forall
	
	If count = 0 Then
		Print "Keine privaten Ansichten gefunden."
	Else
		If count = 1 Then
			Print count & " private Ansicht gelöscht."
		Else
			Print count & " private Ansichten gelöscht."
		End If
	End If
	
exitScript:
	Exit Sub
	
errHandler:
	Msgbox "Es ist ein Fehler aufgetreten." & Chr(10)  & Chr(10) _
	& "Fehlermeldung: " & Error$ & Chr(10) _
	& "Fehlernummer: " & Err & Chr(10) _
	& "Codezeile: " & Erl & Chr(10) _
	,64,"Error"
	Resume exitScript
End Sub

Das funktioniert auch, solange eine Private View des Users existiert. Wird die DB nur geöffnet, und dann wieder geschlossen (keine Views erstellt), dann stürzt Notes ohne Meldung ab.

Auch im Debugger ist kein Fehler ersichtlich. Die Views werden korrekt geprüft aber bei der letzten verabschiedet sich der Client. Reproduzierbar!

Kann da aber leider keinen Fehler finden. Könntet ihr nicht vielleicht man gucken?  :-:

Danke schonmal.
Sebastian
« Letzte Änderung: 24.03.06 - 14:56:18 von SKL74 »
Domino, Notes, Sametime

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Beim Löschen von Private Views per Script stürzt Notes ab
« Antwort #1 am: 23.03.06 - 19:32:50 »
Ich habe Deinen Coe mal nachvollzogen und in eine DB garantiert ohne private views eingebaut. Nachdem ich dann noch drei Variablen nachdeklariert habe (verwendest Du kein Option Declare??), läuft Dein Code und meldet brav: "Keine privaten Ansichten gefiunden".

Auf jeden Fall hast Du es hier mit einem Notes-Bug zu tun (Notes darf nicht abstürzen wegen LS-Code. API wäre etwas anderes ...).
Ich habe allerdings mit 6.5.4 getestet.

Da Du die Version 6.5.5 (solltest Du diese verwenden, wie in Deiner Signatur ausgewiesen) nicht vermeiden kannst, hilft Dir jetzt nur ein logisches Drumherumprogrammieren.

Näheres könnte man wohl nur sagen, wenn Du das Design Deiner DB hier einstellen könntest mit allen Designelementen, mit denen man dann reproduzierbar den Crash nachstellen kann.

By the way: Das "Standard-Vorgehen" hast Du schon gemacht? Man weiss ja nie ... Gerade als Entwickler sollte die CACHE.NDK jeden Abend gekillt werden, da man ja tagsüber übles Zeugs treibt ...

Bernhard

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Re: Beim Löschen von Private Views per Script stürzt Notes ab
« Antwort #2 am: 23.03.06 - 22:53:25 »
Hi,

danke erstmal für ausführlichen Test.
Welche Variablen meinst Du? Komme da irgendwie nicht mit.

Bin jetzt schon soweit, den Code mit einer komplett leeren DB zu testen, um zu sehen, wann Notes abstürzt.

cu
Sebastian
Domino, Notes, Sametime

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Beim Löschen von Private Views per Script stürzt Notes ab
« Antwort #3 am: 23.03.06 - 23:46:10 »
Welche Variablen meinst Du? Komme da irgendwie nicht mit.

Nicht ernsthaft jetzt, oder? Schreibe Option Declare in die Options, und Du bekommst mit dem von Dir geposteten Code drei nicht deklarierte Variablen angezeigt.
Auch wenn das "gschlampert" ist - den Crash können die zumindest in Deinem geposteten Code fehlenden Variablen keinesfalls erklären. Und es liegt auf jeden fall ein Bug in Notes vor - ein Absturz ist unendschuldbar bei Deinem Code. Melde Dich bei IBM ;-)

Bernhard

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Re: Beim Löschen von Private Views per Script stürzt Notes ab
« Antwort #4 am: 24.03.06 - 09:20:39 »
Hi,

danke für die Info.  ;)
So ist das eben, wenn man sich alles selbst beibringen muss und noch nie eine Schulung zu diesem Thema hatte.  :(

Habe die Variablen so deklariert:

Code
Dim count As Integer
Dim equality As String
Dim i As Integer

Dann nochmal mit LN 6.51 getestet. Läuft jetzt ohne Probleme. Geht aber auch ohne die Deklaration.

Würde den Bug gerne bei IBM melden, bin aber nur über die Sparkassenorganisaton Kunde.

Gibt es eine direkte Website, wo man solche Bugs melden kann?

cu
Sebastian
« Letzte Änderung: 24.03.06 - 09:36:48 von SKL74 »
Domino, Notes, Sametime

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Re: Beim Löschen von Private Views per Script stürzt Notes ab
« Antwort #5 am: 24.03.06 - 14:55:57 »
So, habe das Problem jetzt zu den Akten gelegt und das Ganze über Embedded Views gelöst.

Trotzdem Danke für die Hilfe.

cu
Sebastian
Domino, Notes, Sametime

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz