Autor Thema: Fehler bei SetFileAttr  (Gelesen 1778 mal)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Fehler bei SetFileAttr
« am: 08.11.04 - 16:20:58 »
Hi,

ich hab hier ein recht seltsames Phänomen, was jeglicher Logik entbehrt.  :-\ :-[


Ich habe einen Agenten, der Mails exportiert. D.h. er speichert die Mailinformationen als Worddokument und löst die Dateianhänge ins gleiche Verzeichnis. Die Dateien werden zusätzlich noch schreibgeschützt.

Codeauszug:

Code
...
	'Lösen der Anhänge ins gewählte Verzeichnis und einfügen eines Links in Dokument
	intTitel = 0
	If ( rtitem.Type = RICHTEXT ) Then
		If xHasDocAttachments(doc) Then
			Forall o In rtitem.EmbeddedObjects
				If ( o.Type = EMBED_ATTACHMENT ) Then
					If intTitel = 0 Then
						Call clsWord.Newline(2)
						Call clsWord.Insert("Es sind folgende Dateianhänge vorhanden:")
						Call clsWord.Newline(1)
						intTitel = 1
					End If  'If intTitel = 0 Then
					Call clsWord.InsertLink(Cstr(cFile.ExtractFilePath(cFile.Filename)) & o.Name, o.Name)
					Call clsWord.Newline(1)
					'Dateianhang lösen
					Call o.ExtractFile (Cstr(cFile.ExtractFilePath(cFile.Filename)) & o.Name)
					Setfileattr Cstr(cFile.ExtractFilePath(cFile.Filename)) & o.Name , ATTR_READONLY
				End If
			End Forall			
		End If  'If xHasDocAttachments(doc) Then
	End If  'If ( rtitem.Type = RICHTEXT ) Then
	
	Call clsWord.SaveDoc(Cstr(cFile.Filename))
	Setfileattr Cstr(cFile.Filename), ATTR_READONLY
	Call clsWord.CloseWord
	

Wenn ich die Dateien lokal oder auf einem Netware 6 - Server speichert funktioniert das Ganze wunderbar. Sowie ich die Dateien auf einem Netware 5 - Server ablege, krieg ich die Fehlermeldung "File not found". Obwohl die Datei existiert.

Call clsWord.SaveDoc(Cstr(cFile.Filename))
Setfileattr Cstr(cFile.Filename), ATTR_READONLY  <- Fehlermeldung
Call clsWord.CloseWord

Die Netware - Rechte habe ich geprüft und an langen Dateinamen liegt es auch nicht. Das Schreibschützen der Anhänge funktioniert seltsamerweise.

Hat jemand eine Idee? Ich bin ratlos.


Axel

« Letzte Änderung: 09.11.04 - 11:14:28 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Fehler bei SetFileAttr
« Antwort #1 am: 08.11.04 - 16:24:44 »
Um, Du setzest das Attribut und schliessest erst nachträglich Word, da würde ich als Server auch sauer reagieren, denn Word hat da möglicherweise noch einen Lock drauf. Also die beiden letzten Zeilen vertauschen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

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: Fehler bei SetFileAttr
« Antwort #2 am: 08.11.04 - 16:32:01 »
Hi,

das hatte ich bereits versucht. Das Resultat war das gleiche -> File not found. Sorry, den Hinweis hatte ich verschluckt.

Bei Netware 6 funktioniert der Code doch so wie er ist. Was ist bei Netware 5 anders als bei 6?


Axel


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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Fehler bei SetFileAttr
« Antwort #3 am: 08.11.04 - 16:39:51 »
Möglicherweise ein Timing-Problem. Veruch mal folgendes



Call clsWord.CloseWord
For i=0 to 10000
  ' ganz tief durchatmen ....
Next
Setfileattr Cstr(cFile.Filename), ATTR_READONLY

Was da am Server anders ist, kann ich auch nicht sagen, Netware ist nicht gerade mein Liebligsthema ;)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

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: Fehler bei SetFileAttr
« Antwort #4 am: 08.11.04 - 18:50:30 »
Hi,

werde ich morgen früh mal testen.


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

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: Fehler bei SetFileAttr
« Antwort #5 am: 09.11.04 - 09:44:41 »
Möglicherweise ein Timing-Problem. Veruch mal folgendes



Call clsWord.CloseWord
For i=0 to 10000
  ' ganz tief durchatmen ....
Next
Setfileattr Cstr(cFile.Filename), ATTR_READONLY

Was da am Server anders ist, kann ich auch nicht sagen, Netware ist nicht gerade mein Liebligsthema ;)


Bringt leider auch nicht den gewünschten Erfolg. Hab die Zählschleife sogar noch verlängert. Es scheint kein Timingproblem zu sein.
Trotzdem vielen Dank für deine Bemühungen.


Axel

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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Fehler bei SetFileAttr
« Antwort #6 am: 09.11.04 - 09:52:38 »
Dann ist das definitiv in der Kategorie rätselhaft einzureihen. Hab auch keine Idee mehr :(
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

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: Fehler bei SetFileAttr
« Antwort #7 am: 09.11.04 - 11:13:41 »
Hi,

ich hab die Lösung. Es ist scheinbar doch ein Timingproblem. Allerdings lässt sich das nicht über eine Schleife regeln, da eine so lange Zeit nicht realisierbar und für den User auch eine Zumutung ist.

Vor dem Setzen der Attributes hatte ich eine Messagebox eingebaut und hab dann ca. 10 Minuten gewartet. Dann hat's funktioniert.

Nach langen Tests ist nun folgendes herausgekommen.

1. Das Script habe ich an der entsprechenden Stelle wie folgt angepasst:


...
   
   Call clsWord.SaveDoc(Cstr(cFile.Filename))
   Call clsWord.CloseWord   
   Delete clsWord
   
   Setfileattr Cstr(cFile.Filename), ATTR_READONLY
   
   Messagebox "Das Mail wurde erfolgreich exportiert.", 64, "Mail-Export"
...


2. Im Novell-Client habe ich das Dateicaching ausgeschaltet.

Mit diesen Anpassungen geht's auch unter Netware 5.


Axel

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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Fehler bei SetFileAttr
« Antwort #8 am: 09.11.04 - 11:39:52 »
Ah, das macht Sinn, danke für die Rückmeldung.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz