Beiträge von LN4ever

    Es gibt in der Notes.ini ungefähr 5 verschiedene Spracheinstellungen - und dann kommt als Antwort


    "bei der notes.ini ist schon deutsch eingetragen". :-? :-? :-?


    Steht die genannte Zeile


    UserInterface=de


    drin oder nicht ? Genau die, nur die und keine andere ?
    Die entscheidet über die Sprache des UserInterfaces.


    Gruß


    Norbert

    Wenn in der Datenbank bereits Dokumente vorhanden sind, dann müssen diese von einem Editor (oder höher) mit einem Agenten einmal durchgerechnet werden, der in das Autorenfeld den Namen des Erstellers in der kanonischen Namensform schreibt.


    Rechne um Himmelswillen nicht alle Dokumente mit dem jetzt neu eingefügten Feld durch. Dann steht nämlich der Agentenstarter in dem Feld und nicht der Ersteller.


    Die Formel in dem neuen Autorenfeld muß auf jeden Fall lauten:
    @If(@IsNewDoc;@Username;Feldname)


    Gruß


    Norbert

    Die einzuziehende LSS für die Auswertung der dokumentierten LSI-Funktionen heißt lsprCval.lss (ich habe das C groß geschrieben, weil die Notes-Hilfe an der Stelle einen Fehler hat)


    Ich kann mich nicht erinnern, daß ich etwas von LSI_Info(3) geschrieben habe. LSI_Info(2) ist der Modulname, (LSI_Info(3) die LS-Version).


    Wenn du dich mit ErrorHandling auseinandersetzst, kann dir das Projekt OPENLOG von OPENNTF helfen. (Zitat aus dem Kommentar von Julian Robichaux: It uses lsi_info and many other tricks to easily access error logging information. All you have to do is copy the script library to your database, include it in your LotusScript code, and type "LogError" in all your error handling blocks.)


    Ich habe das Zitat abgedruckt, damit du weißt, daß du dich dabei auf die undokumentierte LSI_INFO-Variablen gleich wieder einläßt.


    Wenn dir undokumentierte Funktionen schon beim Errorhandling zu viel sind, dann scheinst du ein Purist zu sein, der den potenziellen Fehler bei der Fehlerbehandlung mehr fürchtet als den Nutzen davon sehen kann.


    Wenn ein Anwender dann einmal in einer Anwendung eine Notes-DB öffnen will, wirst du bestimmt auch nicht ein @Prompt([LOCALBROWSE) oder in LS ein
    xvariant=uiworkspace.prompt(13,$title,$prompt) anbieten, das dir in einem Array Server, Filepath und Title zurückgibt,
    sondern sagen, daß das nicht geht, weil es sich um undokumentierte Funktionen handelt.


    Ist ein Standpunkt. Ist aber nicht mein Standpunkt. Das muß jeder mit sich selbst ausmachen.

    Da du uns nicht verrätst, um welche Clientversion es sich handelt, kann ich es dir nur - mit STochern im Nebel - für die Version 6 beschreiben:


    DATEI - VORGABEN - BENUTZERVORGABEN - INTERNATIONAL - ALLGEMEIN - SPRACHE DER BENUTZERSCHNITTSTELLE (ganz unten)


    Gruß


    Norbert

    Wenn ich Mails bekomme, bei denen ein Button verschwindet, wenn ich den Code einsehen will, dann drücke ich da bestimmt nicht drauf - und wenn: dann nur bei eingeschaltetem Debugger und restriktivster ECL - zu gut deutsch: dann funktioniert der Code nicht mehr.


    Deshalb: Wenn ich Buttons durch die Weltgeschichte sende, dann erkläre ich, was da passiert und veröffentliche oft sogar den Code, der ausgeführt wird.


    Heimlichtuerei ist keine vertrauensbildende Maßnahme.

    Neue Replik (oder Kopie) mit der Endung NS5 anlegen - und schon hat man eine ODS41 DB, die man mit einem 5er wieder öffnen kann.


    Mit DB.NS4 geht auch eine 4er-Version.


    Dateien mit der Erweiterung NSx (x=Versionsnr) haben den Vorteil, daß der normale COMPACT die DB-Struktur nicht "aufwärtsversioniert".


    Gruß


    Norbert

    Ich schätze, daß es um eine Ansicht geht.


    Schau dir einmal die @Text - Parameter für Datums- und Zeiteinstellungen an. Allerdings: wenn du Zeiten in Texte umwandelst, kannst du danach nicht mehr sortieren. Wenn es also eine Datumssortierung geben soll, mußt du den Datumswert in eine versteckte Spalte vor der Darstellungsspalte packen und in der versteckten Spalte sortieren.


    Gruß


    Norbert

    Sorry - ich hatte übersehen, daß du dort bereits in der Klasse im NEW-Konstruktor bist, sondern hatte es verwechselt mit den benamten StandardEvents, weil ich das häufiger mache:


    ich binde in den Globals einer Ansicht eine Bibliothek ein, die ich aber nur im QUERYOPEN mit einer SUB anspreche - und in dieser Bibliotheks-Sub definiere ich alle weiteren Standard-Events mit OnEvent ... . Das erspart einem das Hinzufügen von Code an mehreren Stellen in jeder Ansicht.


    Sorry und Asche auf mein Haupt. Zu schnell gelesen, zu langsam gedacht.


    Aber vielleicht ist ja auch das für manchen ein kleiner Tipp.

    Das tut uns auch leid, daß du mit der Notes-Programmierung nicht warm wirst. Wie weit willst du den Code denn vorgekaut bekommen ? Eigentlich ist nämlich alles gesagt und beschrieben.


    Jetzt aber noch eine kleine Zusatzüberlegung - zur Vermeidung häufiger Anfängerfehler: Wenn du ein Feld beim Öffnen eines Dokuments füllst, dann passiert das beim Erstellen, beim Editieren, beim Lesen - also immer. Und DBLookups sind keine Maskenaufbaubeschleuniger, vor allem, wenn sie auf andere DBs zugreifen. Wenn du also eine Auswahlliste oder eine Feldberechnung durchführst, solltest du mindestens die Leser davon befreien, wenn es sich nicht um Synonymwerte handelt.


    @If(@IsDocBeingLoaded & !@IsNewDoc;@Unavailable;
    @DbLookup(...))


    ist da angebracht.


    Und jetzt Good Luck.


    Gruß


    Norbert

    Du kannst ein OnEvent nicht unter eine Bedingung stellen, weil die Bedingung beim Auftreten des Events nicht abgearbeitet wird. Daß das im Debugger funktioniert, hat etwas damit zu tun, daß dort der EventHandler sein Handle auf den Event behält, die If-Abfrage abarbeitet und beim Eintreffen der Bedingung entdeckt, daß dort das Handle auf den aktuellen Event die Code-Verzweigung erzwingt. Der kompilierte ByteCode tut das natürlich nicht.

    "Man muß die Menschen nehmen, wie sie sind - andere gibt es nicht".


    Und einen BOFH (http://de.wikipedia.org/wiki/BOFH) muß man auch in der Form nehmen, wie er ist. Grantelnd, ein wenig genervt - und dann doch ein herzensguter Kerl, der hilft, wo er kann. Was gibt es Besseres für ein Forum ?


    Zieht von den 700 Beiträgen die 250 ab, die nur den "Hilfe-Benutzungshinweis-Oberlehrer" und "Crosspostings-Verweiser" heraushängen lassen - und dann bleiben 450 Beiträge, die von einem Kopf stammen, der eine Bereicherung für dieses Forum ist. Das war 450 Mal Einsatz, 450 Mal profundes Wissen, 450 Mal Lösung und Klarstellung - und damit Hilfe für alle Fragenden und Lesenden.


    Es geht mir nicht darum, mit Liebedienerei einen "verlorenen Sohn" zurückzugewinnen, aber ich halte es für ein erschreckendes Maß an fehlender Menschenkenntnis, wenn man die Besonderheiten eines Teilnehmers so wenig sieht und beachtet und ihn mit einem lapidaren "Reisende soll man nicht aufhalten" in die Wüste schickt.


    Mir wird auf jeden Fall etwas fehlen, wenn die zugespitzte Bärbeißigkeit als Erstantwort auf manch ungelenk gestellte Frage nicht mehr erscheint. Und noch mehr wird uns allen der dann folgende Hilfeansatz fehlen.


    Das ist schade - und das ist ein Verlust.


    Gruß


    Norbert

    Wenn du dir in der eingebetteten Ansicht deren Aktionsleiste anzeigen läßt, kannst du dort Aktionen mit den hinterlegten Commands


    @Command([ViewCollapseAll])
    @Command([ViewExpandAll])


    anlegen - und die sollten dann auch in der eingebetteten Ansicht funktionieren.


    Fokus und Kontext von einbettendem und eingebettetem Objekt sind vollständig voneinander getrennt - und der Fokus liegt immer auf dem einbettenden Element. Deshalb hilft dir das SENDKEYS auch nichts - es sei denn, du nimmst es als Aktion in die Aktionsleiste des eingebetteten Elements auf. Aber da helfen dir bereits die o.g. Funktionen - betriebssystemunabhängig.


    Gruß


    Norbert