Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: DAU-in am 22.12.11 - 16:20:05

Titel: Aktion LSBind in der $Inbox
Beitrag von: DAU-in am 22.12.11 - 16:20:05
Hallo,

in der $Inbox gibt es eine Aktion 'LSBind'
Diese bindet die ScriptLib  "CommonUI_de-DE" ein, ansonsten enthält sie keinen Code.
Warum wird diese Scriptlib so eingebunden, und nicht über den Options-Bereich der Maske?
Was ist Sinn und Zweck dieses Vorgehens?

Grüsse

Dau-in
Titel: Re: Aktion LSBind in der $Inbox
Beitrag von: Peter Klett am 22.12.11 - 17:37:48
Keine Ahnung, aber könnte es sein, dass die Einbindung länderabhängig erfolgt? Ist vielleicht in der englischen Version "CommonUI_en-EN" eingebunden? Wäre eigentlich eine coole Lösung, wenn das so funktionieren würde.
Titel: Re: Aktion LSBind in der $Inbox
Beitrag von: DAU-in am 22.12.11 - 20:15:03
Vielleicht stehe ich ja völlig auf dem Schlauch, aber warum würde man es dann nicht im Globals der Maske reinschreiben?

Wenn ich das ins Global einer Aktion schreibe, welche anderen Elemente können dann darauf zugreifen, und welche nicht?
Titel: Re: Aktion LSBind in der $Inbox
Beitrag von: pram am 23.12.11 - 00:54:03
Ich hab mir das mal angesehen... Der Sinn erschließt sich mir aber auch nicht  ??? ??? ???

Der einzige Grund der mir einfällt ist, dass ein "echter" USE in den Aktionen drin ist.
Sonst wird ja nur von SharedActions auf die Library verwiesen und shared Actions werden irgendwie anders compiliert als normale.

Gruß
Roland

Titel: Re: Aktion LSBind in der $Inbox
Beitrag von: Peter Klett am 23.12.11 - 08:20:18
Gestern hatte ich das so verstanden, dass es eine Sub wäre, das wäre interessant gewesen, wenn man über eine Sub praktisch dynamisch eine Bibliothek einbinden könnte.

Habe mir das nun näher angesehen, eine lokale Kopie meiner Maildatenbank vollständig neu compiliert, danach im Ordner die Aktion entfernt und noch einmal compiliert. Kein Unterschied. Vermutlich ist das dazu da drin, um uns kleine Entwickler in Demut glauben zu lassen, dass wir eigentlich nichts verstehen ;)
Titel: Re: Aktion LSBind in der $Inbox
Beitrag von: pram am 23.12.11 - 17:03:40
Das kann man im Prinzip auch und geht in Etwa so:

Maske/View hat einen Use auf die Lib "commonGlobal" welche nur ein "dim globalobj as Variant" enthält

Irgendwo anders im Code wird nun z.B. die "CommonObj_De" mit USE eingebunden (z.B. shared Action)

Inhalt von "CommonObj_De":
Code
use "commonGlobal"
sub initialize
  set globalObj = new GermanObj()
end sub
Public Class GermanObj()
  public function toString()
     toString = "deutsch"
  end function
end  Class

Nun sollte man in einer beliebigen Aktion mittels "msgbox globalObj.toString() " eine entsprechende Meldung bekommen
(zumindest sollte es in der Theorie gehen, hab das jetzt nicht getestet)

Da Shared-Actions sprachspezifisch sein können, könnte man so ein und die selbe Maske verwenden und unterschiedliche Scriptlibs für unterschiedlichen Sprachen ansprechen.

Gruß
Roland