AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
08.04.20 - 06:25:40
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 8 und frühere Versionen
| |-+  ND6: Administration & Userprobleme (Moderatoren: eknori, Hoshee)
| | |-+  $File-Feld wird zweifach angelegt bei Aktualisierung von RichTextFeld
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: $File-Feld wird zweifach angelegt bei Aktualisierung von RichTextFeld  (Gelesen 2063 mal)
dgerhardt
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 33



« am: 22.03.05 - 18:48:38 »

Hallo!

Bei der Aktualisierung von Inhalten in RichTextFeldern im UI muß man bekanntlicherweise ein Workaround ausführen, um die Veränderungen sofort anzeigen zu können.

In einer Scriptklasse habe ich dieses Workaround eingebracht. Es scheint auch zu funktionieren. Aber: Nach der Ausführung und erneutem Speichern stehen dann unerwartet 2 Dateien im Dokument.

Im ersten $File-Feld steht der Name der eigentlichen Datei und im zweiten $File-Feld steht eine Datei mit Namen "STG....", die auf eine doppelte Datei hinweist.

Bei der 2 Nutzung sind es dann schon 4 Dateien u.s.w.

Ich habe nun schon viele Dinge probiert, aber ich kriege das nicht hin! Was mache ich Falsch? Gibt es alternativen?


Scriptauszug...

Public MediaWS as NotesUiWorkspace
Public MediaDoc as NotesDocument
Public MediaUiDoc as NotesUiDocument

Public Sub RefreshRTDoc (Section As Integer)
      Select Case Section
      Case 1
         Set MediaUiDoc=MediaWs.CurrentDocument
                                                Set MediaDoc = MediaUiDoc.Document

         Call TMADOCSave(MediaDoc) 'setzt noch Feldwerte...
         Call TMADOCClose(MediaUiDoc) 'setzt noch Feldwerte...         
         Call MediaDoc.Save(True, False)
         MediaUiDoc.EditMode = False
      Case 2
                  
         Call MediaDoc.Save( True , False)
         Call MediaUiDoc.Close
         Set MediaUiDoc = MediaWs.EditDocument(True, MediaDoc,False,,True,False)
         Case Else
         Exit Sub         
      End Select
   End Sub
   
   Public Sub Attach ( FileName As String , InItem As String )

      On Error Goto errhdl      
      Dim ni As Variant
      Dim no As Variant, cUNID As String
      
      Set MediaWs = New NotesUIWorkspace
      Call RefreshRTDoc(1)
      
      Set ni = MediaDoc.GetFirstItem( InItem )
      Set no = ni.EmbedObject( EMBED_ATTACHMENT , "" ,  FileName )      
      
      Call RefreshRTDoc(2)      
      
ResumeErr:
      Exit Sub
ErrHdl:
      Print "Fehler - xClassLibMedia#Sub Attach " + "Zeile: " + Str(Erl) + ": " + Str(Err) + " " + Error$
      Resume ResumeErr
   End Sub
Gespeichert

mit besten Grüßen

Dirk Gerhardt
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #1 am: 22.03.05 - 18:59:28 »

Wo das nun ausgeführt wird und wie da was funktionieren soll, erschliesst sich leider nicht gerade offensichtlich. Kann es sein, dass die Attach-Routine doppelt aufgerufen wird oder - wahrscheinlich - parallel am Front- und Backend geschraubt wird ?
Was beobachtest Du, wenn Du den Code im Debugger verfolgst ?

Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #2 am: 22.03.05 - 23:02:00 »

Bei der Aktualisierung von Inhalten in RichTextFeldern im UI muß man bekanntlicherweise ein Workaround ausführen, um die Veränderungen sofort anzeigen zu können.

Guckst Du: Modify a rich text field in the UI without having to save and re-open
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

dgerhardt
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 33



« Antworten #3 am: 23.03.05 - 11:36:53 »

@kohlerbv
Ich gebe Dir recht. Man kann aus dem Script den Ablauf nicht erkennen. Aber der Tip, daß da noch was im Speicher sein kann, ist schon richtig gewesen. Danke. Werde das Script mal richtig aufräumen...

Der Debugger ist leider nicht zu nutzen, da vor dem "Attach" eine Dialogbox zur Auswahl der Datei liegt. Wenn die Dialogbox auskommentiert wird (Dateiname dann fest vergeben), dann bleibt beim Aufruf der Funktion leider der Debugger hängen und Notes stüzt ab :-( . Auch das deutet auf weitere Fehlerquellen hin.
Gespeichert

mit besten Grüßen

Dirk Gerhardt
dgerhardt
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 33



« Antworten #4 am: 23.03.05 - 19:35:20 »

Der Fehler ist ganz wo anders...

Nachdem ich die LZ1-Komprimierung ausgeschaltet habe und dann mit Compress die DB bearbeitet habe, war der "Fehler" nicht mehr vorhanden.
Dennoch haben die Tips geholfen. Den TIP von TMC kann ich nur weiterempfehlen!

Die LZ1-Komprimierung ist bis Version 6.0.2 fehlerhaft. Folgende Links von IBM belegen das:

IBM: Attachment Compression in Notes 6.x Disappears After Editing
http://www-1.ibm.com/support/docview.wss?rs=475&context=SSKTWP&context=SSKTMJ&dc=DB520&dc=D600&dc=DB530&dc=D700&dc=DB500&dc=DB540&dc=DB510&dc=DB550&q1=lz1&uid=swg21107340&loc=en_US&cs=utf-8&lang=en

IBM (Repair $File-Fields): Executing Attachment Actions with Certain Documents Results in Error: "Attachment Has Been Modified or Corrupted Since Signed!"
http://www-1.ibm.com/support/docview.wss?rs=475&context=SSKTWP&context=SSKTMJ&dc=D600&dc=DB520&dc=DB530&dc=D700&dc=DB500&dc=DB540&dc=DB510&dc=DB550&q1=lz1&uid=swg21192728&loc=en_US&cs=utf-8&lang=en

Gespeichert

mit besten Grüßen

Dirk Gerhardt
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: