Autor Thema: Attachment in RichText-Feld  (Gelesen 9118 mal)

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Attachment in RichText-Feld
« am: 17.11.08 - 12:16:41 »
Hallo zusammen,

nach langer Notes-Abstinenz muss ich zur Zeit doch mal wieder etwas programmieren.

Grob gesagt sollen in einer Anwendung Fotos gepflegt werden können. Hierfür sollen diese als Attachments in verschiedene Richtextfelder eingefügt werden.
Dazu konnte ich hier ja auch einiges finden. Nachdem ich dann aber auch auf das Phänomen gestoßen bin, dass das Attachment unter Benutzung von LS nicht im angesprochenen RichText, sondern unter dem Dokument hinzugefügt wird, habe ich mich dann an der Variante mit dem Einfügen im PostOpen versucht. Das sah zu Beginn sehr vielversprechend aus und hatte durch den Einsatz der Formeln auch den positiven Nebeneffekt, dass das entsprechende Dateiicon dargestellt wird.
Allerdings durfte ich nun feststellen, dass offenbar meine Änderungen im Postopen nicht gespeichert werden... In der Ansicht ist weiterhin das Feld mit dem Dateinamen gefüllt und das RichTextfeld leer.

Zur Verdeutlichung vielleicht kurz einige Code-Ausschnitte:
Code im PostOpen, FileName enthält den Dateinamen des Attachments, rtAttachment ist das RichText, in den die Datei soll.
Code
@If(
	FileName != "";
	@Do(
		@Command([EditDocument];"1";"1");
		@Command([EditGotoField]; "rtAttachment");
		@Command( [EditInsertFileAttachment];FileName);
		@SetField("FileName";"");
		@Command([FileSave])
	);
	""
)

In einem Buttonclick wird über einen Dialog die Datei ausgewählt (dann noch einiges anderes damit gemacht) und anschließend der Dateiname in das Feld Filename geschrieben. Dann speichere ich alles, schließe das Dokument und öffne es neu.
Code
Call uidoc.FieldSetText("FileName",strFilePath)

Call uidoc.Save()
doc.Saveoptions = "0"
Call uidoc.Close
Call doc.Save(True,True)
Set uidoc = ws.editDocument(True, doc)
Hier sieht dann auch alles gut aus, das Attachment ist da und der Dateiname nicht mehr. Wenn ich dann allerdings das Dokument schließe, scheint Notes alles vergessen zu haben... Das Attachment ist in der Vorschau nicht zu sehen, dafür aber wieder der Dateiname. Solange die Datei noch im Dateisystem existiert gar kein Problem, sie wird ja dann im Postopen wieder als Attachment dargestellt. Eigentlich sollte die aber in einem spätern Schritt nach dem Einfügen des Attachments automatisch wieder von der Festplatte gelöscht werden...

Ich habe bereits versucht, nach dem Reload des Dokuments sowohl das uidoc als auch das doc noch einmal zu speichern, aber selbst das manuelle Speichern des Dokuments über die Symbolleiste verändert überhaupt nichts...

Könnt ihr mir eventuell sagen, was genau ich hier übersehe? Wahrscheinlich etwas total offensichtliches, aber ich komme einfach nicht drauf.

Danke schonmal und schöne Grüße,
Axel

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Attachment in RichText-Feld
« Antwort #1 am: 17.11.08 - 12:34:13 »
@Command( [EditInsertFileAttachment] ): Attaches a file to a document.

Das wird meines ERachtens nach nicht im Feld eingefügt.

Wie hast du die Attachments denn via LS im RT-Feld eingefügt? Bei mir ging das früher problemlos.
Das unter dem Dokument einfügen sieht aus, als ob das zugehörige Feld gelöscht, oder das Attachment eben nicht in das Feld eingefügt wurde.

Grüsse

Dau-in
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Attachment in RichText-Feld
« Antwort #2 am: 17.11.08 - 12:37:19 »
Call uidoc.Save()
doc.Saveoptions = "0"
Call uidoc.Close
Call doc.Save(True,True)
Set uidoc = ws.editDocument(True, doc)


ähhhhh, vielleicht stehe ich auf dem Schlauch, aber speicherst du hier nicht gerade explizit, dass nichts gespeichert werden soll?

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Attachment in RichText-Feld
« Antwort #3 am: 17.11.08 - 13:04:20 »
Und wenn, dann in eine neue Version. Ob das so gewollt ist?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #4 am: 17.11.08 - 13:41:10 »
Hallo,

hui, so viele Antworten schon :) Danke schonmal dafür!
@Command( [EditInsertFileAttachment] ): Attaches a file to a document.

Das wird meines ERachtens nach nicht im Feld eingefügt.
Doch, das klappt wunderbar, solange der Fokus in einem Richtext liegt.
Wie hast du die Attachments denn via LS im RT-Feld eingefügt?
Das unter dem Dokument einfügen sieht aus, als ob das zugehörige Feld gelöscht, oder das Attachment eben nicht in das Feld eingefügt wurde.
Mit
Code
If doc.HasItem(rtAttName) Then
	Set rtAtt = doc.GetFirstItem(rtAttName)
Else
	Set rtAtt = New NotesRichTextItem(doc,rtAttName)
End If

If ( rtAtt.Type <> RICHTEXT ) Then
	Print("Zielfeld ist kein Richtextfeld")
	Goto NoResult
End If

Call rtAtt.EmbedObject ( EMBED_ATTACHMENT, "", strFilepath)
Das gleiche Problem, das ich damit hatte, konnte ich hier im Forum auch mehrmals finden. Allerdings haben die wenigen Lösungsvorschläge dazu nichts bewirkt. Und ja, das Richtextfeld existiert und wird auch im Code selbst erkannt. Nur wird dann eben der Anhang trotzdem ans Dokument, anstatt an das Richtext angehängt.

ähhhhh, vielleicht stehe ich auf dem Schlauch, aber speicherst du hier nicht gerade explizit, dass nichts gespeichert werden soll?
Soweit ich das weiß, unterbindet Saveoptions := 0 doch nur den Speicherdialog. Liege ich da falsch? Auf den Codeschnipsel bin ich hier im Forum auf der Suche nach einer Lösung für mein Problem gestoßen. Das habe ich mir also nicht selbst überlegt ;D

Wie müsste ich denn an dieser Stelle sonst vorgehen? Lasse ich diese Zeile weg, kommt nämlich wieder die Nachfrage, ob ich speichern möchte...

Schöne Grüße,
Axel

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Attachment in RichText-Feld
« Antwort #5 am: 17.11.08 - 13:55:24 »
Die Designer-Hilfe (spez. das Thema "Reserved fields that control mailing options ") ist Dein Freund:

Zitat
SaveOptions
Use 1 to save mailed documents. Use 0 so that the document is not saved when mailed. prevent the document from being saved.

Zwischen EMBED_ATTACHMENT und EMBED_OBJECT ist ein Unterschied. IIRC wird bei ersterem das Dokument "angehängt" (den Effekt den Du siehst), bei zweiterem das File in RTItem eingebettet. Siehe "Working with attachments and embedded objects in LotusScript classes" in der Designer-Hilfe.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Attachment in RichText-Feld
« Antwort #6 am: 17.11.08 - 13:58:20 »
Wann kommt der Speicherdialog?
Doch nicht vor dem Speichern des doc, oder?

du musst das in das uidoc setzen, dann wird der Speicherdialog unterdrückt, das Dokument wird nicht gespeichert und damit das Feld auch nicht gesetzt.
wenn du das im Backenddokument abspeicherst, dann ist dîeser Wert auch abgespeichert. Damit wird künftiges speichern unterdrückt.

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Attachment in RichText-Feld
« Antwort #7 am: 17.11.08 - 14:02:21 »
IMHO mischt Du mir hier auch etwas zu viel Backend- und Frontend-Aktionen.

Du bist im Postopen, führst @-Formulas aus, rufts dann irgendwie (wie?) LotusscriptCode auf, der das Dokument zuerst im Frontend, und dann auch noch im Backend speichert (im Zusammenspiel mit RTItems eine tötliche Kombination), schließt und wieder öffnet (was dann wieder einen PostOpen Event auslösen würde, siehe Satzanfang ....

Irgendwo ist da im Konzept IMHO der Wurm drinnen. Kannst Du das mal etwas genauer ausführen?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #8 am: 17.11.08 - 14:32:39 »
Zwischen EMBED_ATTACHMENT und EMBED_OBJECT ist ein Unterschied. IIRC wird bei ersterem das Dokument "angehängt" (den Effekt den Du siehst), bei zweiterem das File in RTItem eingebettet. Siehe "Working with attachments and embedded objects in LotusScript classes" in der Designer-Hilfe.
Na gut, das muss man wissen. Auch diesen Code habe ich hier im Forum gefunden und er wurde in keinem der Beiträge bemängelt. Es würde also ausreichen, EMBED_ATTACHMENT durch EMBED_OBJECT auszutauschen? Damit bekomme ich aber leider weder ein Attachment im Richtext noch unter dem Dokument...

Wann kommt der Speicherdialog?
Doch nicht vor dem Speichern des doc, oder?
Ich bin schwer irritiert... Ich habe vorhin nach deinem Post die Zeile auskommentiert und es erschien der Speicherdialog. Jetzt habe ich das eben noch einmal versucht und es funktioniert ???
Aber vielen Dank, das war es tatsächlich... Aber da sieht man es wieder, man sollte nicht zuviel kopieren *g* Ich hätte die Zeile nämlich eigentlich auch gar nicht eingefügt, die steht nur da, weil ich den Code so hier gefunden hatte und der Meinung war, das müsse dann schon so stimmen ;D

du musst das in das uidoc setzen, dann wird der Speicherdialog unterdrückt, das Dokument wird nicht gespeichert und damit das Feld auch nicht gesetzt.
wenn du das im Backenddokument abspeicherst, dann ist dîeser Wert auch abgespeichert. Damit wird künftiges speichern unterdrückt.
Das heißt? Ein Feld "SaveOptions" in die Maske einfügen und dort setzen?

Aber danke vielmals für die Hilfe... ich sags ja, es war ja eigentlich total offensichtlich. Aber manchmal ist man einfach total blind, vor allem wenn man schon wieder ein knappes Jahr nicht in Notes reingeschaut hat :)

IMHO mischt Du mir hier auch etwas zu viel Backend- und Frontend-Aktionen.
Du bist im Postopen, führst @-Formulas aus
Wie gesagt, anders hat es bei mir nicht funktioniert und außerdem werden so nicht diese hässlichen grauen Standard-Icons angehängt ;) Zudem wird diese Vorgehensweise in verschiedenen Threads hier im Forum empfohlen.
, rufts dann irgendwie (wie?) LotusscriptCode auf, der das Dokument zuerst im Frontend, und dann auch noch im Backend speichert (im Zusammenspiel mit RTItems eine tötliche Kombination), schließt und wieder öffnet (was dann wieder einen PostOpen Event auslösen würde, siehe Satzanfang ....
Irgendwo ist da im Konzept IMHO der Wurm drinnen. Kannst Du das mal etwas genauer ausführen?
Und genau darum geht es doch. Steht doch alles schon im obigen Post:
Mit einem Button wählt der User eine Datei aus, diese soll dann nach einer gewissen Verarbeitung in ein RichText eingefügt werden. Dafür schreibe ich den Dateinamen in ein Feld und lese dieses beim Postopen (ausgelöst durch das Reopen des Dokuments) aus. Die Datei wird angehängt und anschließend das Feld mit dem Dateinamen gelöscht. Ich sehe darin ehrlich gesagt überhaupt kein Problem...
Gut, nachdem ich deinen Einwand gelesen hatte, habe ich versuchsweise die Zeile auskommentiert, in der das doc gespeichert wird, und es scheint auch so zu funktionieren. Auch hier war ich wieder der Meinung, wenn man mehrmals den gleichen Quellcode liest, ohne dass dieser korrigiert wird, sollte man davon ausgehen können, dass dieser korrekt ist.

Inwiefern ist denn das Speichern im Front- und im Backend tödlich in Verbindung mit RichText-Feldern? Nur interessehalber...

Es sollte ja auch eventuell klar geworden sein, dass meine Hauptaufgabe hier nicht darin besteht, in Lotus Notes zu programmieren. Ich habe weder eine einzige Schulung darin gehabt, noch bisher besonders viel darin programmiert. Alles was ich tue habe ich entweder hier aus dem Forum oder mir durch das Betrachten bereits verfügbarer Applikationen beigebracht. Es tut mir daher leid, wenn mir in gewissen Bereichen das Verständnis fehlt, aber da kann ich leider auch nicht viel mehr machen, als zu versuchen, es zu begreifen ;) Und ich möchte auch wirklich klarstellen, dass ich vor meinem Post jetzt bereits schon einige Zeit mit dem Problem verbracht habe und mehrere Stunden hier im Forum nach Lösungen gesucht habe. Ich hasse es nämlich selbst, wenn ohne einen Funken Selbstinitiative nach Lösungen gefragt wird.

Schöne Grüße und nochmals vielen Dank,
Axel
« Letzte Änderung: 17.11.08 - 14:39:14 von Leddl »

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #9 am: 17.11.08 - 16:01:31 »
Wenn ich vielleicht noch einmal eine kurze Anschlussfrage stellen dürfte... ;)

Das mit dem Hinzufügen funktioniert ja jetzt prima, es muss jetzt allerdings auch möglich sein, die Attachments über einen Button wieder zu löschen. Dazu benutze ich jetzt folgenden Code:
Code
Set rtitem = doc.GetFirstItem(rtAttName)
  If Isarray (rtitem.EmbeddedObjects) Then
    If ( rtitem.Type = RICHTEXT ) Then
      Forall object In rtitem.EmbeddedObjects
        If ( object.Type = EMBED_ATTACHMENT ) Then
          Call object.Remove
        End If
      End Forall
      Call doc.Save(True,True)
    End If
End If
Damit wird aber anscheinend nur die Datei selbst gelöscht, das Dateiicon bleibt weiterhin im Dokument sichtbar - auch nach einem erneuten Aufruf des Dokuments. Ähnliche Threads zu dem Thema laufen eigentlich auf genau den Code hinaus, den ich hier benutze, daher bin ich auch hier wieder eher ahnungslos...
Ich habe auch bereits eine Möglichkeit gefunden, das Icon aus dem Richtext zu löschen, allerdings erscheint dabei eine Abfrage, ob wirklich gelöscht werden soll, was ich eher weniger gebrauchen kann.

Daher nochmal meine Frage: Was übersehe ich hier? Es kann doch nicht sein, dass das Icon ohne Datei dahinter stehenbleibt...

Schöne Grüße,
Axel

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Attachment in RichText-Feld
« Antwort #10 am: 17.11.08 - 16:13:35 »
Und jetzt hatte ich so schön viel Text geschrieben:


Ich habe eine Maske mit einem Richtextfeld und einem Button. Der Anwender erstellt ein neues Dokument, wählt via button das Attachment aus, das uidoc wird gespeichert und geschlossen, dann das doc definiert, das Attchment in das Bodyfeld eingehängt und gespeichert, dann als uidoc wieder geöffnet.
Das Attachment hing jetzt dreimal an der richtigen Stelle.
Du musst das ganze natürlich jetzt entsprechend deinen Erfordernissen anpassen.
Und immer Frontend und Backend sauber trennen.


Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession   
   Dim uidoc As NotesUIDocument
   Dim doc As notesdocument
   Dim rtitem As NotesRichTextItem
   Dim object As NotesEmbeddedObject
   Dim unidstring As String
   

'Frontend Anfang   
   Set uidoc = ws.CurrentDocument
   Call uidoc.Save   
   unidstring = uidoc.Document.UniversalID
   
    filenames = ws.OpenFileDialog( _
   True, "Select files to be deleted",, "c:\tmp")
   Call uidoc.Close
'Frontend Ende, Beginn Backend

   Set doc = session.CurrentDatabase.getdocumentbyUNID(unidstring)
   
   If Not(Isempty(filenames)) Then
      Set rtitem = doc.GetFirstItem("Body")   
      If rtitem.type = 1 Then
         Forall filename In filenames
            Set object = rtitem.EmbedObject( EMBED_Object, "",Cstr(filename) )         
            
            
         End Forall
      End If
      Call doc.Save(True,True)      
   End If
'Backend ende, wieder Frontend
   
   
   Call ws.EditDocument(False,doc)
   
End Sub
« Letzte Änderung: 17.11.08 - 16:22:28 von DAU-in »
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #11 am: 17.11.08 - 16:19:21 »
Hallo DAU-in!

Und jetzt hatte ich so schön viel Text geschrieben:
;D Der wird nicht umsonst gewesen sein, ich werde mir das zu Herzen nehmen und meinen Code entsprechend umarbeiten. Danke auf jeden Fall dafür!

Hast du evtl. auch einen Vorschlag für mein zweites Problem?

Schöne Grüße,
Axel

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Attachment in RichText-Feld
« Antwort #12 am: 17.11.08 - 16:24:13 »
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession   
   Dim uidoc As NotesUIDocument
   Dim doc As notesdocument
   Dim rtitem As NotesRichTextItem
   'Dim object As NotesEmbeddedObject
   Dim unidstring As String
   
   Set uidoc = ws.CurrentDocument
   unidstring = uidoc.Document.universalid
   Call uidoc.Close
   
   
   Set doc = session.CurrentDatabase.GetDocumentByUNID(unidstring)
   
   Set rtitem = doc.GetFirstItem("Body")
   If Isarray (rtitem.EmbeddedObjects) Then
      If ( rtitem.Type = RICHTEXT ) Then
         Forall object In rtitem.EmbeddedObjects
            If ( object.Type = EMBED_object ) Then
               Call object.Remove
            End If
         End Forall
         Call doc.Save(True,True)
      End If
   End If
   
   Call ws.EditDocument(True,doc)
   
   
End Sub


das hat auf die schnelle gefunzt

P.S. ich mache das dokument auf im editiermodus( sonst wird das nix mit dem uidoc.Save), der code steckt in einem LöschButton
sollen denn alle attachments gelöscht werden?
Und wie löst der anwender das aus?


PS.PS: ich korrigiere:

If ( object.Type = EMBED_object Or object.Type = EMBED_attachment) Then
               Call object.Remove


aber die Frage ist immer noch:

wie willst du bzw. sollen die Anwender das tun und ist das sinnvoll?
« Letzte Änderung: 17.11.08 - 16:34:27 von DAU-in »
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #13 am: 17.11.08 - 17:03:50 »
das hat auf die schnelle gefunzt
Ja, bei mir jetzt auch, dabei ist das ja wirklich nicht großartig anders als bei mir... Das Embed_OBJECT hatte ich eben nicht abgefragt, das wirds gewesens sein.

sollen denn alle attachments gelöscht werden?
Prinzipiell ja, wobei ich genau aus diesem Grund das ganze Hinzufügen und Löschen über Buttons kapsele. Eigentlich soll nämlich nur jeweils ein Bild je RichText möglich sein ;)
Und wie löst der anwender das aus?
ButtonClick --> Hinzufügen, ButtonClick --> Löschen ;)
Beziehungsweise evtl. lasse ich das mit dem zweiten Button und die Bilder werden eben dann automatisch beim Hinzufügen neuerer Fotos gelöscht.

wie willst du bzw. sollen die Anwender das tun und ist das sinnvoll?
Es handelt sich bei den potentiellen Usern um den typischen DAU (keine Anspielung ;D), die haben also eigentlich keine großartige Ahnung von Computern, sollen aber in regelmäßigen Zeiträumen Fotos von unseren Stores in Notes speichern. Um die dabei ein bisschen an die Hand zu nehmen, soll eben das Einfügen der Fotos so einfach  (und gleichzeitig natürlich auch so wenig fehleranfällig) wie möglich sein.
Daher der Umweg über die Buttons (bzw. Aktionen), es soll also nur an einer Stelle geklickt werden können, damit gar nicht erst die Chance besteht, dass irgendwo etwas falsch gemacht werden kann. Sonst wird da wild in den Feldern rumgeschrieben, hinzugefügt und gelöscht und am Ende ist da mehr Chaos als einem lieb ist ;D

Aber wirklich vielen vielen Dank, du hast mir wirklich sehr geholfen. Das funktioniert jetzt wunderbar und ist bereit für die weitere Ausarbeitung. :)

Schöne Grüße,
Axel

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #14 am: 20.11.08 - 15:57:35 »
Hallo zusammen,

nachdem ich mit eurer Hilfe das ganze eigentlich schon wunderbar zum Laufen bekommen habe, stehe ich jetzt doch wieder vor einem mir unbegreiflichen Fehler...

Gestern konnte ich noch nach Herzenslust Bilder über die Buttons hinzufügen und wieder löschen, jetzt streikt Notes plötzlich beim Löschen. Nach dem Entfernen des Bildes im Backend starte ich wie im folgenden Code das uidoc wieder im Editmodus. Ich möchte anschließend den Fokus in ein anderes Feld setzen und genau dort stellt Notes sich quer.
Code
Set uidoc = ws.EditDocument(True,doc)
	
Call uidoc.GotoField(FieldName )
Die Fehlermeldung, die ich mir mittels Errorhandler anzeigen lasse, lautet wie folgt:
Zitat
Fehler #4418 - Property or Method is not available during QueryOpen: GotoField
Für mich eher unverständlich, da meines Erachtens nach ja das QueryOpen zu diesem Zeitpunkt schon durchlaufen sein sollte, oder lieg ich da falsch?

Der einzige Unterschied zu gestern liegt darin, dass ich vorhin mal kurz mit dem Sperren des Editmodes herumgespielt habe, wie er hier in den BP erklärt wird. Das habe ich dann allerdings doch schnell verworfen und alle Änderungen wieder rückgängig gemacht.

Hat eventuell irgendwer einen Ansatz für mich, oder eine Idee, woran dieser Fehler liegen könnte und was ich dagegen tun kann?

Vielen Dank und schöne Grüße,
Axel

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Attachment in RichText-Feld
« Antwort #15 am: 20.11.08 - 17:01:58 »
Wo genau steht denn der von Dir zitierte Code:

Set uidoc = ws.EditDocument(True,doc)
Call uidoc.GotoField(FieldName )

In welchem Event, in welcher Aktion??

Thomas

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #16 am: 20.11.08 - 17:07:14 »
Der Code steht im Click-Ereignis einer Aktion der Maske.

Offline Leddl

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Attachment in RichText-Feld
« Antwort #17 am: 05.12.08 - 11:45:18 »
Ich wollte jetzt nur mal noch schnell den aktuellen Status durchgeben ;)

Nachdem ich das Problem mal eine Weile beseite geschoben habe, habe ich beschlossen, die Maske einfach mal nachzubauen und zu schauen ob das Problem immer noch besteht.
Und wer hätte es gedacht, bei der neuen Maske läuft es wieder einwandfrei ;) Und das, obwohl der Inhalt wirklich 1:1 der selbe ist. Der einzige Unterschied besteht darin, dass ich in der neuen Maske das Queryopen nicht angefasst habe :D

Schöne Grüße,
Axel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz