Autor Thema: ViewName ausgeben  (Gelesen 5232 mal)

Offline Heinrich

  • Frischling
  • *
  • Beiträge: 5
ViewName ausgeben
« am: 15.02.05 - 21:55:36 »
Hi Programmierer,
habe ein kleines Problem.
In einem Navigator, über eine Schaltfläche möchte ich gerne den Namen der aktuell geöffneten Ansicht ausgeben.

Habe folgenden Script in der Schaltfläche hinterlegt:

Sub Click(Source As Navigator)
   Dim workspace As New NotesUIWorkspace
   Dim view As NotesUIView
   Set view = workspace.CurrentView
   Messagebox view.ViewName
End Sub


Leider wird die Fehlermeldung: "Object variable not set" ausgegeben.
Wo liegt denn der Fehler?  :)

« Letzte Änderung: 16.02.05 - 21:55:53 von Heinrich »

Glombi

  • Gast
Re: ViewName ausgeben
« Antwort #1 am: 15.02.05 - 21:59:22 »
Hallo Heinrich, willkommen im Forum!

Hast Du das mal mit durch den Debugger gejagt.

Navigator, brrrrrr graus  :o
Vielleicht gibt es gar keine CurrentView !

Andreas

Offline Heinrich

  • Frischling
  • *
  • Beiträge: 5
Re: ViewName ausgeben
« Antwort #2 am: 15.02.05 - 22:06:00 »
Sie Ansicht "Kunden" wird mit dem Navigator geöffnet.

Glombi

  • Gast
Re: ViewName ausgeben
« Antwort #3 am: 15.02.05 - 22:09:11 »
Geh doch mal Schritt für Schritt mit dem Debugger durch die Formel und poste, wo er dann hängen bleibt.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ViewName ausgeben
« Antwort #4 am: 15.02.05 - 22:12:58 »
Wenn das eine Schaltfläche im Navigator ist, dann kann das auch nicht funktionieren, da dann der Fokus auf dem Navigator resp. der Schaltfläche ist.

Ändere mal den Code wie folgt, um das zu verifizieren, Heinrich:
Code
Sub Click(Source As Navigator)
   Dim workspace As New NotesUIWorkspace
   Dim view As NotesUIView
   Set view = workspace.CurrentView
   If view Is Nothing Then
      Messagebox "View not instantiated !"
   Else
      Messagebox view.ViewName
   End If
End Sub

Wozu soll das eigentlich gut sein ? Schaltfläche und ViewName anzeigen ? Warum Navigator anstatt Page / Outline ? Vielleicht findet sich ja eine ganz andere Lösung ?

Und: Willkommen im Forum, Heinrich !

Bernhard
« Letzte Änderung: 15.02.05 - 22:26:39 von koehlerbv »

Offline Heinrich

  • Frischling
  • *
  • Beiträge: 5
Re: ViewName ausgeben
« Antwort #5 am: 15.02.05 - 22:19:25 »
Danke, für die schnellen Antworten. Ist wirklich super das schnelle Feedback.

@Bernhard
Mit Deinem Script wird die Meldung "View not instandiiated" ausgegeben.

@Glombi
Bei meinem Script meckert der Debugger bei der msgbox mit der o.g. Fehlermeldung

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ViewName ausgeben
« Antwort #6 am: 15.02.05 - 22:28:31 »
Die Ausgabe der Massagekiste war logisch. Aber zurück zu meiner Frage: Wozu das ganze usw. ? Siehe oben.

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ViewName ausgeben
« Antwort #7 am: 15.02.05 - 22:34:13 »
Hast du das Objekt view denn schon mal mit dem Debugger überprüft. Wetten das das nicht instanziiert ist. Und warscheinlich hast du den Navigator auch noch in einem Frame untergebracht. Wie soll er denn wissen wo im UIBereich er gerade ist. Für den Geschmack des Clients auf jeden Fall nicht in einer View und damit liefert dir diese Abfrage, auch wenn sie syntaktisch korrekt ist und die richtigen Klassen benutzt kein Ergebnis. Bau dir das zum Bleistift in eine Aktion in der Ansicht ein und du wirst sehen das es funktioniert.

Das haben dir die anderen beiden schon geschrieben aber löschen will ich das jetzt auch nicht mehr

Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Heinrich

  • Frischling
  • *
  • Beiträge: 5
Re: ViewName ausgeben
« Antwort #8 am: 15.02.05 - 22:39:26 »
Ist nur ein Teil eines Scriptes.
Hintergrund: Der User ruft über eine Schaltfläche eine Ansicht auf z. B. KundenNachName. Über diese werden mehrere Aktionen ausgeführt und darüberhinaus wird eine zweite Ansicht geöffnet. Zum Schluss sollte aber wieder die zuerst gewählte Ansicht geöffnet werden.
Deshalb brauche ich den aktuellen Ansichtsnamen in einer Variable. Und das ganze über eine Schaltfläche in einem Navi.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ViewName ausgeben
« Antwort #9 am: 15.02.05 - 22:58:23 »
Wenn das im Client ist dann nimm die Notes.ini,. gib dem Teil einen Feldnamen. Schreib das in die Ini rein und hol es nach dem Ende der Aktion wieder raus und lösch es anschließend.
Im Web wäre das ein ganz anderes Kapitel aber so dürfte das ganz einfach und ohne Kopfschmerzen gehen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ViewName ausgeben
« Antwort #10 am: 15.02.05 - 23:21:12 »
Aber unbedingt zwecks Verhinderung des Zumüllens der Notes.ini am Schluss den Eintrag wieder löschen, oder doch lieber ein Profildok dafür nehmen.

Und natürlich, Heinrich, willkommen im Forum :)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ViewName ausgeben
« Antwort #11 am: 15.02.05 - 23:27:08 »
wieder löschen
Sag ich doch, aber Profildokumente haben so ihre Tücken speziell in dem Fall den man denke ich hier als Gegeben annehmen muss.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ViewName ausgeben
« Antwort #12 am: 15.02.05 - 23:32:07 »
Hier haben Profildokumente überhaupt keine Tücken, da sie ja in der gleichen Sitzung wieder gebraucht werden, wie sie gesetzt wurden, damit geht das alles über Memory und sind klar im Vorteil gegenüber der Notes.ini
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ViewName ausgeben
« Antwort #13 am: 16.02.05 - 00:01:52 »
Jo, solange das ProfileDoc personenbezogen sind, sind sie gegenüber der NOTES.INI erste Wahl und völlig problemlos (da sie ja eh immer - ggf. sogar komplett, falls "Schwund" eintritt - neu aufgebaut werden, wenn sie benötigt werden).

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ViewName ausgeben
« Antwort #14 am: 16.02.05 - 00:05:22 »
Da es in dieser Situation sogar implizit personenbezogen ist, ist es noch nicht einmal erforderlich, das Profil-Doc explizit personenbezogen zu erstellen, womit auch gleich verhindert wird, dass unnötig Profil-Dokumente liegen bleiben.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ViewName ausgeben
« Antwort #15 am: 16.02.05 - 09:17:02 »
Stimmt ihr habt recht. Wenn man das genau liest dann passiert da wirklich alles im Spieicher und damit sind Profildokumente verwendbar.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Marinero Atlántico

  • Gast
Re: ViewName ausgeben
« Antwort #16 am: 16.02.05 - 09:50:51 »
Hervorhebungen von mir:
Der [einzelne] User ruft über eine Schaltfläche eine Ansicht auf z. B. KundenNachName. Über diese werden mehrere Aktionen ausgeführt und darüberhinaus wird eine zweite Ansicht geöffnet. Zum Schluss sollte aber wieder die zuerst [von dem einzelnen User] gewählte Ansicht geöffnet werden.


ist es noch nicht einmal erforderlich, das Profil-Doc explizit personenbezogen zu erstellen

Jens, das verstehe ich nicht.
Das Datum "vonUserZuerstGewaehlteAnsicht" ist eindeutig personenbezogen. Also benötigt man personenbezogene Profildokumente. 

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ViewName ausgeben
« Antwort #17 am: 16.02.05 - 09:56:02 »
Benötigt keine personenbezogenen Profildokumente, da die Angabe nur solange Sinn macht, wie die Sitzung noch existiert, und während der Sitzung wechselt der Benutzer nicht. Nach der Sitzung kannst Du die gespeicherte Info wegwerfen, spielt also keine Rolle mehr, was da noch im Profildoc drinsteht, wird eh bei einer neuen Sitzung überschrieben
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Marinero Atlántico

  • Gast
Re: ViewName ausgeben
« Antwort #18 am: 16.02.05 - 10:14:39 »
und während der Sitzung wechselt der Benutzer nicht.
ok. Ich bin z.Zt. ein bischen object relational mapping infiziert, deshalb:

Nicht user-gebundene Profildokumente besitzen eine 1 zu 1 Beziehung zur Datenbank.
User besitzen (normalerweise) eine n zu 1 Beziehung zur Datenbank.

User 1 wählt seine 1. Ansicht und das Telefon klingelt.
AnsichtUser1 wird in das ProfilDokument geschrieben. 
User 2 wählt seine Ansicht
AnsichtUser2 wird in das ProfilDokument geschrieben.
User1 legt den Höhrer auf und arbeitet weiter.
Eigentlich müßte User1 nun AnsichtUser2 sehen, wenn er seine erste Ansicht aus dem Profildokument holt.

Das könnte funktionieren, wenn der cache von Profildokumenten tatsächlich user-session-gebunden wäre. Und wie lange werden die an die UserSession gebundenen Daten im Speicher gehalten? Was ist, wenn er Essen geht. Vielleicht werden die an die UserSession gebundenen Daten nach 30 Minuten gelöscht. Oder vielleicht findet manchmal doch ein Durchgriff auf das Profildokument statt. 
Weisst du sicher, dass das stabil funktioniert? Selbst dann wäre es ein hack. Die genaue Funktionalität des caches ist nicht dokumentiert (userSession-bezogen? wann und überhaupt wird der cache gelöscht?

Gruß Axel
 

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ViewName ausgeben
« Antwort #19 am: 16.02.05 - 10:18:02 »
Genau das ist es ja, was sonst das Problem macht, was man hier ausnutzen kann: Profildokumente werden nur aus dem Memory bedient, wenn sie mal geladen sind, der Cache ist auch kein write-through, wird also nicht sofort zurückgeschrieben. Man kann hier genau das nutzen, was sonst den Entwicklern so sehr Bauchweh macht (weil sie damit nicht rechnen und deshalb dieses Verhalten nicht gewohnt sind)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz