Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 07.02.04 - 19:21:18

Titel: Gemeinsamer Button für View und Form
Beitrag von: TMC am 07.02.04 - 19:21:18
Hi,

mich würde interessieren, wie man einen gemeinsamen Button erstellt für eine View und auch für eine Maske.

Als Beispiel nehme ich ein Weiterleitungs-Script
Code
Sub Click(Source As Button)
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.CurrentDocument
   Call uidoc.Forward
End Sub

Das funktioniert ja nur in einem Dokument.

Ist man in einer View, dann könnte man sowas machen:
Code
'Backend-Dims
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument

'Frontend-Dims
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

'Backend Database
Set db = session.CurrentDatabase

Set collection = db.UnprocessedDocuments 'Ausgewählte Doks in der Ansicht

Set doc = collection.GetFirstDocument 'Erstes Dokument

If doc Is Nothing Then Exit Sub
  
Set uidoc = uiws.EditDocument(false, doc ) 'Man ziehe sich das Backend ins Frontend
Call uidoc.Forward

Wie kann man denn diese beiden Scripts verschmelzen?

Also quasi abfragen, ob Buhtong aus Maske bzw. View gestartet wird?

Matthias
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: koehlerbv am 07.02.04 - 19:35:02
Naja, Du könntest zum Bleistift prüfen, ob Du entweder ein uidoc oder Unprocessed Documents greifen kannst und dann entsprechend entscheiden, welchen Code-Zweig Du verfolgen möchtest.
Das ganze riecht aber nach shared actions - und da schau mal in den letzten zwei, drei Tagen nach den Threads: Da gab' es deutliche "Warnungen vor dem Hunde" ;-(

Bernhard (wie immer grüssend von "Ober..." nach "Nieder..." )
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: TMC am 07.02.04 - 19:40:50
Du meinst also z.B.
If uidoc Is Nothing Then
 ... mein Backend Code
Else
 ... mein Frontend Code

etc. ?

Stimmt, werde ich gleich mal probieren, danke !

Deine Nase täuscht Dich nicht, habe mit Shared Actions aber noch nie schlechte Erfahrungen gemacht, wobei mich die Threads schon erschreckt haben.

Aber auch für normale Actions ist das interessant, man hat z.B. dieses "Forward"-Script und kann es dann sowohl in eine View-Action als auch in eine Masken-Action kopieren und braucht sich um nix zu kümmern.
Das wäre auch so ein Ziel für mich dabei ;-)

Matthias mit Grüßen von Nieder.... nach Ober...
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: Semeaphoros am 07.02.04 - 19:50:40
... und um die shared actions zu umgehen steckt man den Code in einen Agenten, den man dann vom Buhtong aus aufruft
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: koehlerbv am 07.02.04 - 20:02:04
... oder nimmt 'ne Lib ... Kommt wegen Performance immer auf die Codemengen an.

Bernhard
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: Semeaphoros am 07.02.04 - 20:04:57
aber erst nach der Slow-Motion Session, ScriptLibs aus Vieh-Buhtongs heraus lassen sich nicht debuggen (oder ist das jetzt behoben?)
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: koehlerbv am 07.02.04 - 20:26:28
Äääh, 5.0.8 - geht sich. Leider spielen da ja immer 'ne Menge andere Dinge mit 'rein. Wie gesagt: Ich habe da zumindest keine prinzipiellen Probleme.

Bernhard
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: Semeaphoros am 07.02.04 - 20:35:36
Gut, wenns klappt, ScriptLib direkt im Buhtong ist mir natürlich schon lieber als die ScriptLib über einen 007 aufrufen zu müssen oder so. Natürlich geh ich nicht hin und ändere das jetzt überall, wo dieser Workaround drin ist .... es läuft ja :)
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: TMC am 07.02.04 - 20:41:23
Wo gibts denn diese Problems mit Gemeinsamen Aktionen, kann man das irgendwie eingrenzen?

Kann es schon Probleme mit @Command([FileCloseWindow] geben??

Oder sind nur Scipts betroffen?

Sind es Feldänderungen, copytodatabase, etc. etc., oder generell immer Probleme?

Matthias


Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: koehlerbv am 07.02.04 - 22:47:23
LS im allgemeinen und das "Use " einer ScriptLibrary im ganz besonderen. Genauer spezifizieren lässt sich das offensichtlich nicht -siehe KBase als auch hier im Forum - wie gesagt, das kochte gerade die letzten Tage wieder hoch. Da gab es auch "Warnung vor dem Hunde" für R6 ;-(

Bernhard
Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: TMC am 08.02.04 - 15:54:14
Um zur eigentlichen Frage von mir zurückzukehren:

Code
If uidoc Is Nothing Then Goto ViewCode

war hier für mich hier die Lösung.

Matthias

Titel: Re:Gemeinsamer Button für View und Form
Beitrag von: TMC am 29.03.04 - 21:23:33
Kommando zurück, es geht noch sehr viel einfacher.

Ich habe mir gerade folgenden Code angesehen:

http://joelitton.net/A559B2/home.nsf/plinks/JLIN-5P357U

*auf die Stirn schlag* Verdammt, es geht ja sooo einfach:

Code
Set db = session.CurrentDatabase
   If Not ws.CurrentDocument Is Nothing Then
      Set docOld = ws.CurrentDocument.Document
   Elseif Not session.DocumentContext Is Nothing Then
      Set docOld = session.DocumentContext
   End If

DocumentContext heisst also das Zauberwort.

Matthias