Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: skywook am 19.07.07 - 08:03:02

Titel: Problem mit Bibliothek
Beitrag von: skywook am 19.07.07 - 08:03:02
Hallo,
folgendes Script habe ich im QuerySave hinterlegt. Das aktuelle Doc soll übergeben werden:


Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim doc As NotesDocument
Set doc = source.Document
Call Steuerung(doc)
....

hier die Bibliothek:
Sub Steuerung(doc As NotesDocument)
.....

aber beim Speichern der Maske erhalte ich immer die Fehlermeldung:
Missing argument for: Steuerung

Für einen Tipp wäre ich dankbar.
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 08:26:18
Vermutlich existiert das NotesDocument noch nicht, weil es noch nicht gespeichert wurde. doc ist also leer.
Titel: Re: Problem mit Bibliothek
Beitrag von: jBubbleBoy am 19.07.07 - 08:49:24
das ist ein Cache-Problem, Du musst die Maske schließen und neu öffnen, dann geht das.

Bubble
Titel: Re: Problem mit Bibliothek
Beitrag von: koehlerbv am 19.07.07 - 09:52:21
@Driri: Das doc existiert auf jeden Fall - vollkommen egal, ob es schon mal gespeichert wurde oder nicht.
Auch, wenn dem nicht so wäre, würde das der Sub nichts machen - die bekommt ja ein gültiges Objekt mit dem Wert Nothing - es würde also erst in de Sub knallen.

Mein Tipp geht genau in die Richtung, die "Blase" schon genannt hat.

Bernhard
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 09:55:29
Wie, moment ? Wenn ich ein uidoc habe, das noch nicht gespeichert wurde, habe ich trotzdem schon ein Background Document ?

Oder schmeiß ich da gerade was durcheinander mit den Richtext-Geschichten ?
Titel: Re: Problem mit Bibliothek
Beitrag von: koehlerbv am 19.07.07 - 09:58:22
Klar hast Du dann schon ein Backend-Dokument. Das muss ja nicht zwingend und überhaupt gespeichert werden!

Du meinst sicher wirklich die RT-Problematik - das steht Dir im Backend immer erst nach der Speicherung auf Platte zur Verfügung.

Bernhard
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 10:05:46
Hi

Soll das heissen Du glaubst es ist nicht möglich einen Anhang in ein neu erstelltes Dokument einzufügen ohne das Dokument zuvor zu speichern oder wie soll ich das verstehen?

Gruss
Remo
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 10:22:54
Nein. Ich meinte das Problem, daß ich in einem noch nicht gespeicherten Dokumente nicht an das Richtextitem rankomme, sondern dafür erstmal das Dokument speichern muß.
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 10:50:07
Hi Driri

Also ich habe mal folgendes auf Button gelegt und kann da auf das Item zugreifen. Geht es dabei um so etwas?

Sub Click(Source As Button)
   Dim ws As NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesItem
   Dim rtitem As NotesRichTextItem
   
   Set ws=New NotesUIWorkspace
   Set uidoc=ws.CurrentDocument
   Set doc=uidoc.Document
   uidoc.Refresh True,True
   Set item=doc.GetFirstItem("fdBody")
   If item.Type=1 Then
      Set rtitem=item
      Print item.Name
   End If
End Sub

Gruss
Remo
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 11:21:02
Hi

Gerade nochmal gecheckt, unglaublich aber der speichert das echt. Naja, das kann man mit SaveOptions ja noch abgewöhnen. Lotus Notes, mit genug darum herum arbeit geht ja praktisch alles.  ;D

Gruss
Remo
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 11:36:47
Ne, ich meinte dann schon auf das RTF bzw. auf Inhalte des RTF zugreifen, z.B. EmbeddedObjects.
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 12:23:04
Hi

Habe das Teil ja und kann das extrahieren. Seh da kein Problem.

Sub Click(Source As Button)
   Dim ws As NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesItem
   Dim rtitem As NotesRichTextItem
   
   Set ws=New NotesUIWorkspace
   Set uidoc=ws.CurrentDocument
   Set doc=uidoc.Document
   uidoc.Document.SaveOptions="0"
   uidoc.Refresh True
   Set item=doc.GetFirstItem("fdBody")
   If item.Type=1 Then
      Set rtitem=item
      Forall eo In rtitem.EmbeddedObjects
         eo.ExtractFile Environ("Temp") & "\" & eo.Name
         Print Dir(Environ("Temp") & "\" & eo.Name)
      End Forall
   End If
End Sub

Gruss
Remo
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 13:56:56
Sorry, aber ich kann das nicht nachstellen. Wenn ich ein neues Dokument habe, in das RTF ein Attachment packe, etc. und dann ohne zu speichern über Script versuche, auf das RTF zuzugreifen, ist das Objekt leer.

Das NotesDocument bekomme ich (wieder was gelernt  ;)), aber das RichTextItem eben nicht.
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 14:07:29
Hi

Also wenn mein Code bei Dir nicht funktioniert, dann kann es echt nur an der Notes Version liegen (verwende 7.02). Mit der Version von Dir kann ich leider nicht testen (haben wir nicht mehr).

Gruss
Remo
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 14:15:54
Moment, Korrektur : Wenn ich deinen Code verwende, funktioniert es.

Jetzt würde mich aber doch mal interessieren, warum ich mit folgendem Code nicht an das Item herankomme :

   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim rtitem As NotesRichTextItem
   
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   Set rtitem = doc.GetFirstItem("Body")

Damit hatte ich das probiert und dann halt im Debugger geschaut, ob rtitem sauber gesetzt wird. Aber auf dem Weg bleibt es eben leer.
Titel: Re: Problem mit Bibliothek
Beitrag von: Fedaykin am 19.07.07 - 14:16:30
   uidoc.Document.SaveOptions="0"
   uidoc.Refresh True
Titel: Re: Problem mit Bibliothek
Beitrag von: Driri am 19.07.07 - 14:22:05
AAAAAH ! Ich bin heute nicht auf der Höhe. Das Problem war ein ganz anderes. Änderungen an RTF sind im Frontend erst nach Speichern und Neuöffnen des Background-Dokuments sichtbar. Das war das Problem.

Peinlich, peinlich. Gut, daß ich gleich Feierabend mache (http://i44.photobucket.com/albums/f8/littleblue71/smilies/thblushing.gif)