Autor Thema: call uiworkspace.EditDokument(false) ??  (Gelesen 4841 mal)

Offline ReinerB

  • Junior Mitglied
  • **
  • Beiträge: 93
call uiworkspace.EditDokument(false) ??
« am: 14.05.07 - 16:40:34 »
Hallo,

habe eine Maske mit einigen Feldern und den Aktionsschaltflächen "Bearbeiten" und  "Speichern". Zusätzlich das Feld SaveOptions mit Vorgabewert=0.

Beim Drücken auf Speichern werden im Backend mehrere Dokumente per Lotusscript erstellt. Danach möchte ich die Maske aber nicht schliessen, sondern in den Lesemodus wechseln. Ich dachte, ich könnte in die Speicher-Aktionsschaltfläche den Befehl "Call uiworkspace.EditDocument( False )" einbauen. Da bekomme ich die Meldung "Notes Fehler - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar". Was muß ich denn tun, um mein Ziel zu erreichen?

In einer anderen Maske habe ich das so gemacht:
@Command([FileSave]);
@Command([EditDocument]; 0)

Und die Maske bleibt offen und das Dokument ist im Lesemodus.

Vielen Dank für Eure Unterstützung.

Grüße
Reiner Beimdiek
« Letzte Änderung: 15.05.07 - 10:16:16 von ReinerB »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: call uiworkspace.EditDokument(false) ??
« Antwort #1 am: 14.05.07 - 16:42:47 »
NotesUIWorkspace.EditDocument öffnet ein (Backend-)Dokument im Frontend.
Wenn Du in den Lesemodus wechseln willst, solltest Du
Call NotesUIDocument.EditMode = False
verwenden.

Bernhard

Offline ReinerB

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: call uiworkspace.EditDokument(false) ??
« Antwort #2 am: 14.05.07 - 17:08:30 »
Hallo Bernhard,

danke für die schnelle Antwort.

Muß das nicht
Set NotesUIDocument.EditMode = False
heißen?

Aber dann kommt während des Laufs "Type Mismatch"??
Wenn ich im Debugger nachsehe, ist die Eigenschaft EDITMODE vom Type Variant.

Jetzt verstehe ich garnichts mehr.

Reiner

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: call uiworkspace.EditDokument(false) ??
« Antwort #3 am: 14.05.07 - 17:13:33 »
Arbeitest du mit Option Declare?

Weil bei NotesUIDocument.EditMode hast du garantiert nicht das NotesUIDocument als solches initialisiert und deklariert. Wenn du diese Option eingeschaltet hättest, hättest du das gemerkt, da der Compiler meckern würde.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: call uiworkspace.EditDokument(false) ??
« Antwort #4 am: 14.05.07 - 17:26:08 »
Ich habe Blödsinn geschrieben (wider besseren Wissens):

NotesUIDocument.EditMode = False (ist ja eine Property).

Sorry.
Bernhard
« Letzte Änderung: 14.05.07 - 18:14:03 von koehlerbv »

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: call uiworkspace.EditDokument(false) ??
« Antwort #5 am: 14.05.07 - 17:27:37 »
*argh* Sowohl call als auch set waren an den Stellen falsch verwendet, habe ich eben auch noch übersehen...

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: call uiworkspace.EditDokument(false) ??
« Antwort #6 am: 14.05.07 - 18:07:48 »
... EditMode = True geht über die Backend-Klasse...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: call uiworkspace.EditDokument(false) ??
« Antwort #7 am: 14.05.07 - 18:16:03 »
Wie meinst Du das, Toni? EditMode ist ein reines Frontend-Feature und widerspricht per se dem Backend. Aber ich habe sicherlich nicht verstanden, was Du sagen willst.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: call uiworkspace.EditDokument(false) ??
« Antwort #8 am: 14.05.07 - 19:18:07 »
So kann das aussehen:

...
Dim workspace As New NotesUIWorkspace
Dim uidoc as NotesUIDocument

Set uidoc = workspace.CurrentDocument
uidoc.EditMode = False
...


... EditMode = True geht über die Backend-Klasse...

Toni

Bist du dir da sicher?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: call uiworkspace.EditDokument(false) ??
« Antwort #9 am: 14.05.07 - 22:12:31 »
Zitat
Read-write. Indicates whether a document is in Edit mode.

genau so...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: call uiworkspace.EditDokument(false) ??
« Antwort #10 am: 14.05.07 - 22:29:54 »
Tony, sorry: Ich verstehe es immer noch nicht, was Du mit "Backend" in diesem Zusammenhang sagen wolltest. EditMode ist FrontEnd pur. Vom FrontEnd kommt man natürlich auch auf das Backend, aber wo ist jetzt hier der Zusammenhang? Hilfst Du mir auf die Sprünge?

Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: call uiworkspace.EditDokument(false) ??
« Antwort #11 am: 15.05.07 - 07:51:30 »
... sorry - Frontend war gemeint (Asche über mein Haupt) , ich habe wohl zu flüchtig gelesen und geschrieben - sorry... :-X :-\

Toni
Grüßle Toni :)

Offline ReinerB

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: call uiworkspace.EditDokument(false) ??
« Antwort #12 am: 15.05.07 - 09:24:13 »
Guten Morgen,

trotz der schönen Diskussion  ;) ist das Problem leider noch nicht behoben.

Ich habe es jetzt ganz einfach gemacht. Eine neue Maske, ein Feld, ein Button mit dem Code

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   
   uidoc.EditMode = False
End Sub

Ich starte die Maske vom Designer in Vorschau in Notes und drücke den Button.
In der Zeile uidoc.EditMode = False    bekomme ich die Fehlermeldung "Dokumentbefehl ist nicht verfügbar".

Ich möchte einfach nur in den Lesemodus wechseln.
Wie geht das jetzt in Lotusscript??   :-:

Bitte nicht aufgeben. 

Reiner

klaussal

  • Gast
Re: call uiworkspace.EditDokument(false) ??
« Antwort #13 am: 15.05.07 - 09:28:40 »
Ist das Dokument evtl. schon im Edit-Mode ?

Offline ReinerB

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: call uiworkspace.EditDokument(false) ??
« Antwort #14 am: 15.05.07 - 09:31:57 »
Ja das Dokument ist im Edit-Mode. Ich möchte die Maske per Button in den Lesemodus versetzen. Geht das nicht so einfach?

Reiner
 

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: call uiworkspace.EditDokument(false) ??
« Antwort #15 am: 15.05.07 - 09:53:20 »
Das geht so einfach, aber...

... wenn es sich um ein neues Dokument handelt, muss es zuerst einmal gespeichert werden.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ReinerB

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: call uiworkspace.EditDokument(false) ??
« Antwort #16 am: 15.05.07 - 10:15:08 »
Danke Axel.

Habe gerade mit einem Kollegen darüber gesprochen und wir kamen einige Minuten vorher auch zu dem Schluss, daß die Maske vorher wohl gespeichert werden muß.

Eigentlich soll es nur eine Pseudo-Maske sein. Im Backend werden andere Dokumente erstellt. Aber wenn ich diesen Effekt haben möchte, dann muß ich auch das Pseudo-Dokument speichern und später in der Routine Terminate wieder löschen.

Problem gelöst.
Schönen Tag noch
Reiner

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz