Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: D. Roth. am 07.09.05 - 10:48:30
-
Hallo ,
ich hab das Problem wenn ich eine Datei anhängen will, bekomm ich die Meldung "could'nt attach file"
--------Schnipp----------------
Dim db As NotesDatabase
Dim docNew As NotesDocument
Dim object As NotesEmbeddedObject
Set docNew = m_db.CreateDocument
docNew.Form = Form
Set rtitem = New NotesRichTextItem(docNew,Field)
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, "", m_PDFFileName)
Call docNew.Save(True,True)
--------Schnipp----------------
-
1. Solange das Dokument nicht gespeichert wurde, gibts kein RTF. Also erst Save und dann RTF. Gibts diverse Diskussionen und Beispiele hier im Forum.
2. Was ist denn "m_PDFFileName" ? Ist nnirgendwo deklariert.
Wobei ich eh davon ausgehe, daß Punkt 1 das Problem ist.
-
Geht leider immer noch nicht ;-(
P.S m_PDFFileName = "C:\temp\test.pdf"
Form = "MyForm"
Dim db As NotesDatabase
Dim docNew As NotesDocument
Dim object As NotesEmbeddedObject
Set docNew = m_db.CreateDocument
docNew.Form = Form
Call docNew.Save(True,True)
Set rtitem = New NotesRichTextItem(docNew,Field)
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, "", m_PDFFileName)
Call docNew.Save(True,True)
Set m_NotesPDFDocument = docNew
-
Das mit dem "erst speichern" betrifft aber "nur" die weitere Verarbeitung im FrontEnd und hat mit dem Attach-Problem nichts zu tun.
Frage: Ist der FilePath überhaupt korrekt ?
Bernhard
-
Jo der File Pfad ist korrekt!!
-
Hast du dir das ganze schon mal mit dem Debugger angesehen?
Was ist der Feldtyp von deinem Feld Field?
Wo tritt der Fehler genau auf?
-
Sorry, hat Bernhard natürlich recht :-[
Wo läuft denn das Script ? In einer Action, in einem Agent ?
Ich frage, weil z.B. bei einem periodischen Agent C: das Laufwerk auf dem Server ist, während bei einer Action das lokale C: zieht.
P.S. : Könnte es sein, daß das Script über die Variablennamen stolpert ? Field, Form, etc.
-
Es läuft lokal auf dem Client , und wird vom User aufgerufen !
-
Was ist der Feldtyp von deinem Feld Field?
Das spielt auch keine Rolle, Robert, da die Maske selbst hier überhaupt nicht ins Spiel kommt - es passiert alles im Backend. Und das RTI wird vorher explizit angelegt.
Bernhard
-
Liegt es daran das es normal doch so heisst:
Set RTItem = New NotesRichTextItem( memo, "Body" )
Oder ist bei dir "Field" eine Variable?
-
Ich habe das jetzt mal nachgebaut. Vorausgesetzt, alle Variable sind korrekt belegt, dann funktioniert das fehlerfrei bei mir. Sorge ich dafür, dass Variable nicht oder falsch belegt sind, dann bekomme ich andere Fehlermeldungen. Das betrifft insbesondere einen falschen FilePath oder eine nicht belegte Variable "Field".
Bernhard
-
Ich denke auch das es an dem vergessenen "" beim Feldnamen oder an der Declaration der Variable Field die nicht gesetzt wurde liegt.
Robert
-
Nein, eben nicht: Dann wird explizit der "nicht propagierte Wert" oder der fehlende (oder der falsche) Filename bemängelt.
Bernhard
-
Vielleicht kann ja neon die fehlenden Deklarationen und auch die exakte Fehlermeldung noch nachliefern, sonst wird das ein Stochern im Nebel.
Bernhard
-
Ich könnte mir vorstellen, der User, welcher den Code ausführt ist nicht berechtigt, Dokumente in der DB erstellen.
Ich hatte das glaub ich vor einigen Monaten mal, die Fehlermeldung kam in einer Notes-Verion nicht erst beim Speichern, sondern bereits beim rtitem.EmbedObject.
Außerdem triviale Frage: Genügend Speicher auf dem Server vorhanden? Denn diese Fehlermeldung kommt auch bei unzureichendem Festplattenspeicher.
-
Ich könnte mir vorstellen, der User, welcher den Code ausführt ist nicht berechtigt, Dokumente in der DB erstellen.
Eher nicht - dann scheppert es bereits beim NotesDatabase.CreateDocument.
Wie gesagt: Ich habe mir bereits die Mühe gemacht, hier etliche Fälle auf Basis des mehr als rudimentären Codes, den neon zur Verfügung gestellt hat, durchzuspielen. Die Fehlermeldung (die so wie propagiert zumindest nicht exakt stimmen kann) konnte ich nicht provozieren.
Bevor sich neon jetzt nicht mit den wesentlichen Infos (wie erbeten) meldet, verschwende ich hier keinerlei Energie mehr in diesen Thread.
Ich bitte auch alle anderen, sich ohne Rückmeldungen von "neon" neuen Spekulationen hinzugeben.
Bernhard
-
Hi , ich hab die Lösung !!!!!! ;-) ;-)
Dim db As NotesDatabase
Dim docNew As NotesDocument
Dim object As NotesEmbeddedObject
Set docNew = m_db.CreateDocument
docNew.Form = Form
Set rtitem = New NotesRichTextItem(docNew,Field)
Call rtitem.EmbedObject (EMBED_ATTACHMENT, "", m_PDFFileName)
Call docNew.Save(True,True)
Set m_NotesPDFDocument = docNew
Aber mir ist es trotzdem nicht erklärbar. Danke für alle Bemühungen
Gruss neon
Ich weiß zwar nicht ob