Domino 9 und frühere Versionen > Entwicklung

Probleme mit IsUIDocOpen !

(1/1)

Christopher:
Hallo Männer´s

ich bearbeite ein Dokument mit einen Agenten und prüfe ob das Dokument geöffnet ist.

Ich erhallte immer eine False von "IsUIDocOpen" zurück.

Jetzt kommte es, wenn ich den Debugger aktiviere bekomme ich ein "True"  ::) zurück.
Warum auch immer ich kann es mir nicht erklären.

Habt Ihr zu diesem Problem eine Lösung?

Glombi:
IsUIDocOpen ist mit Vorsicht zu genießen, denn es macht nicht das was man vielleicht vermutet: Es wird NICHT geprüft, ob das Backend-Dokument aktuell vom Anwender geöffnet ist!
Es liefert true, falls das Backend-Dokument mit
set doc = uidoc.Document

gesetzt wurde. Was danach allerdings mit dem Frontend-Dok. passiert ist, ist egal. ich habe für mich denn Sinn der Funktion noch nicht wirklich ermittelt.
Denn wenn ich im Code das so setze, weiß ich ja dass ein UI Dok. da ist.

Andreas

Christopher:
Verdammt da ist das Properties "IsUIDocOpen" für die Füße.

LN4ever:
Es gibt einen nicht uninteressanten Anwendungsfall für diese Property. Und zwar im Datenbankscript bei QUERYDOCUMENTDELETE

Wie verschwinden Dokumente ? Ein Anwender öffnet ein Dokument, befindet sich nicht im Edit-Modus und drückt aus irgendeinem Grund die ENTFERNEN-Taste, z.B. weil er etwas korrigieren möchte und denkt, er sei im Edit-Modus.

Was passiert ? Das gesamte Dokument wird gelöscht - nicht eben das, was der Benutzer wollte. Das läßt sich abfangen, und zwar mit

...
   If Continue Then
      Set tdoc = coll.GetFirstDocument
      If coll.count=1 And tdoc.IsuiDocopen Then
            tabbruch=Messagebox("Soll dieses Dokument wirklich gelöscht werden",3+32+256,"Delete actual document ?")
            If tabbruch <> 6 Then Continue=False
      End If
...

Wenn ich in einer View ein Dokument lösche, kommt die Frage nicht.

Für den Fall, den Christopher abfangen will, ist die Property allerdings völlig ungeeignet.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln