Autor Thema: This operation is not allowed while a dialogbox is displayed  (Gelesen 2316 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Hi,

wenn ich in einer Dialogbox den Code
Zitat
@Command([FileCloseWindow]);
@PostedCommand([ToolsRunMacro]; "(EditApproved)")
habe bringt Notes die o.g. Fehlermeldung.

Im Macro wird ein Code ausgeführt, bei dem die Dialogbox in der Tat wieder geschlossen sein muss, daher hab ich den Code ja in ein Makro ausgelagert.
Nur führt wohl Notes erst das Makro aus, bevor es die Box schließt.

Kennt wer einen Workaround?


TMC
« Letzte Änderung: 10.09.03 - 21:16:18 von TMC »
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #1 am: 10.09.03 - 21:30:50 »
Oh je, jetzt sind wieder die Hellseher gefragt ...
Wie wär's mit ein bißchen Code aus Deinem Agent ?

Leute, versetzt Euch doch endlich mal in die Lage derjenigen, von denen Ihr Antworten erwartet !!!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #2 am: 10.09.03 - 21:45:12 »
Hi,

Das hier denke ich hat als Info gereicht:
Zitat
Im Macro wird ein Code ausgeführt, bei dem die Dialogbox in der Tat wieder geschlossen sein muss

Aber ich bin kein Profi, hier mal der Code:

Zitat
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument    
Dim newuidoc As NotesUIDocument   
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim newdoc As NotesDocument  
Dim unid As String
   
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

Set db = session.CurrentDatabase
Set newdoc = doc.CopyToDatabase( db )
unid = doc.UniversalID   

newdoc.IDapproved = unid
Dim rtitem As NotesRichTextitem
Set rtitem = New NotesRichTextItem( newdoc, "DocLinkA" )
Dim linkdoctest As NotesDocument
Set linkdoctest = db.GetDocumentByUNID(unid)
Call rtitem.AppendDocLink(linkdoctest,"Link to blabla")

newdoc.Status = "2"   
Call newdoc.save(False, False)
Call uidoc.Close   
Call uiws.viewrefresh()   
Set newuidoc = uiws.editDocument(True, newdoc)   

Jedenfalls schätze ich, kann man da die Box absolut nicht gebrauchen....


TMC
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #3 am: 10.09.03 - 22:41:13 »
Mir geht es immer noch so: Ich muß viel zu viel nachdenken, was Du eigentlich machen willst. Deine Aussagen sind immer noch unklar.

- Von wo und wie rufst Du die Dialogbox auf?
- Worauf willst Du im Agent das NotesUIDocument beziehen?
- Was soll Deine Aktion bewirken ?

Klare Anfragen bewirken hier in diesem Forum nach meiner Erfahrung schnelle und i.d.R. kompetente Antworten. Ich helfe ja auch gerne, aber wenn ich erstmal 'ne halbe Stunde brauche, um den möglichen Sinn der Frage zu verstehen ...

Meist ist es ja auch so - und auch das ist ja der Wert dieses Forums - daß sich statt einem "workaround" oder "von hinten durch die Brust ins linke Auge" viel bessere Lösungsansätze des eigentlichen Problems ergeben.

Dein "Das hier denke ich hat als Info gereicht" war jedenfalls nicht gerade motivierend - immerhin suchst Du eine Lösung, kannst mir aber garantiert für meine offenen Notes-Probleme keine Lösung bieten - wirklich: Garantiert !

Ni sa schto, wie der Russe sagt: Mit ein paar mehr Infos mehr helfe ich gerne weiter. Mach's uns einfach ein bißchen einfacher, wie in Deinen letzten Postings ;-)

Bernhard (nur ein ganz klein wenig sauer)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #4 am: 10.09.03 - 22:56:53 »
Sorry wenn ich in Unklarheiten poste.
Eigentlich mein Ziel wenn ich selber was poste / ne Frage habe:
-> so kurz wie nur möglich (keine seitenlangen Fragen...)
-> alle Infos drin die der Helfende braucht

Nur manchmal ist wohl (so wie in diesem Thread) der 2. Punkt überhaupt ned erfüllt.

Also sorry für die Lücken bei der Übermittlung meiner Anfrage!

Was will ich machen:
 - User öffnet eine Maske/Dokument, und will dieses bearbeiten
 - das Querymodechange sagt aber: Nö erst mal sagst Du mir was Du überhaupt machen willst -> Code im Querymodechange, welches die Dialogbox öffnet
 - Wenn User auf "OK" klickt", dann wird der o.g. Code ausgeführt.

Der Code soll bewirken, dass u.a.
 - das aktuelle Dok bearbeitet wird (welches der User eben z.Zt. ausgewählt hat)
 - etc. (siehe Script, also Doc kopieren, ID altes Doc in neues Doc kopieren, altes Doc schließen, neues Doc öffnen etc.).

Ich hoffe nun ist es verständlich was ich will.

Grüße aus Niederbayern
TMC

** EDIT **:
Das Script klappt einwandfrei wenn es in einem Button der Maske steckt....
« Letzte Änderung: 10.09.03 - 23:00:05 von TMC »
Matthias

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


Glombi

  • Gast
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #5 am: 11.09.03 - 08:32:07 »
Hi,
hast Du schon

@PostedCommand([FileCloseWindow]);
@PostedCommand([ToolsRunMacro]; "(EditApproved)")

versucht?

Andreas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #6 am: 11.09.03 - 09:38:53 »
Hi Andreas,

ja, hab ich, leider auch ohne Erfolg.

Na ja, die Designerhilfe zu ToolsRunMacro sagt ja:
Zitat
Order of execution
This command executes only after the entire formula has been evaluated, regardless of whether @Command or @PostedCommand is used, except on the Web.

Aber er schließt mir wohl einfach die Dialogbox nicht. ???

TMC
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #7 am: 11.09.03 - 09:49:57 »
Kannst Du nicht Deinen ganzen Code in QueryModeChange reinpacken und dort auch die Dialogbox öffnen? Das wäre doch viel einfacher, denke ich.
Außerdem Obicht: Du durchläufst kein QueryModeChange, wenn Du aus der Ansicht heraus das Dokument zum Bearbeiten öffnest. Du bräuchtest also aus beiden Ereignissen ein Callauf Deine Routine.

Beste Grüsse retour aus Oberbayern ;-)
Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #8 am: 11.09.03 - 22:00:02 »
Hi again,
Kannst Du nicht Deinen ganzen Code in QueryModeChange reinpacken und dort auch die Dialogbox öffnen? Das wäre doch viel einfacher, denke ich.
Kapier ich jetzt leider nicht. Die Dialogbox öffne ich ja im Querymodechange, und den Rest auch noch rein? Wie kann das klappen? Ich steh jetzt glaub ich auf'm Schlauch.
Oder willst Du sozusagen am Anfang des eigentlichen Scripts die Box öffnen, und wenn User entsprechenden Button klickt, dass dann das Script an der entsprechenden STelle weitermacht?
Erscheint mir jetzt etwas komplex.



Außerdem Obicht: Du durchläufst kein QueryModeChange, wenn Du aus der Ansicht heraus das Dokument zum Bearbeiten öffnest. Du bräuchtest also aus beiden Ereignissen ein Callauf Deine Routine.

Daher hab ich was gemeines im Queryopen:
if mode = 1 then Continue = False
 ;D

Damit mein o.g. Script noch funktioniert, muss allerdings die letzte Zeile raus und das hier rein:
Set newuidoc = uiws.editDocument(False, newdoc)   
newuidoc.EditMode = True

TMC
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #9 am: 12.09.03 - 15:02:18 »
Mein Vorschlag: Du lagerst das ganze Gedöns, was ausgeführt werden soll, in eine einzige Routine aus, die Du bei Bedarf aus QueryModeChange und POSTOPEN (nicht QueryOpen, da hast Du ja noch keinen handle auf's backend doc) aufrufst.

Dort dann (nach Deinem Bedarf):
- Vorbereitende Maßnahmen
- Dialogbox
- prüfen, ob Dialogbox gecancelt (Abbruch der ganzen Aktion) oder nicht (weiterlaufen)
- Die Aktionen, die jetzt in Deinem Agent stecken.

Die Dialogbox hält jetzt ja den Ablauf der gewünschten Aktionen an, und es gibt keine Widersprüche mehr bei der Reihenfolge der Abarbeitung.

HTH, und viele Grüsse von Ober- nach Niederbayern ;-)
Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #10 am: 12.09.03 - 18:14:46 »
Hmm, ja,.....
Wenn ich mir das so überlege hört sich das sehr elegant an  :)

Danke!

Ich werde das mal testen, melde mich wieder.

Wollte jetzt ja auf Dialekt antworten, aber dann versteht es ein Nicht-Ober-/Niederbayer ned ;D

CU,
TMC

Matthias

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


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #11 am: 12.09.03 - 20:14:38 »
... "gemma" - "schaumermoj"

ata  ;D
Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #12 am: 12.09.03 - 20:17:26 »
do schaust her, und no a Boa  :o

 ;D
TMC
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:This operation is not allowed while a dialogbox is displayed
« Antwort #13 am: 13.09.03 - 13:50:08 »
Hihi - und der aus Oberbayern ist gebürtiger Thüringer ;-)

Bernhard (glücklicher Zug'roaster)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz