jetzt wird es lustig:
Jemand hatte danach gefragt, ob man nicht alle Kategorien einer View zusammenklappen kann; hab ich mir gedacht, geht doch einfach ... Im Prinzip ja ...
Also habe ich flugs in die Views folgenede Formel reingepappt
key:="ViewCollapseAll";
@If(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; key ; 2 )="YES";
@Command([ViewCollapseAll]);
"")
Das Ganze sollte natürlich wieder aus einem ConfigDoc einstellbar sein.
Das funktioniert auch ...
ABär:
WEchsele ich nun die Sprache, bekomme ich einen RSOD.
Der ganze Vorgang ist reproduzierbar:
Im ConfigDoc von YES auf NO wechseln
( alle weiteren Aktionen in der gleichen Sprache funktionieren )
Sprache wechseln und ... RSOD
Nach den Notes Neustart kann ich mit den bestehenden Einstellungen wunder bar arbeiten. Und auch munter die Sprachen hin und her wechseln. Mache ich wieder eine Änderung am beteiligten Config Doc und wechsele dann die Sprache ... RSOD.
Der Sprachwechsel findet in einem Gliederungseintrag mit folgender Formel statt
REM { find users language };
_defaultLang := _defaultLang := @UpperCase(@DbLookup( "" : "NoCache" ; "":"" ; "($LUConfig)" ; "LANGUAGE" ; 2 ));
_view:="($LULANG)";
_foundlanguages := @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
_userlanguage :=@If(@ClientType="Web";
@UpperCase(@LanguagePreference([Region]))[1];
@If(@Environment("HDLang")="";@UpperCase(@LanguagePreference([Content]));@Environment("HDLang")));
_language:=@If(@IsMember(_userlanguage;_foundlanguages);_userlanguage;_defaultlang);
REM { find label };
_key:="outDlgLang";
_label := @Implode(@DbLookup( "" : "NoCache" ; "":"" ; "($LULANGTYPE)" ;_language + "~outline";"typestring");";");
_val:=@Right(_LABEL; _key + "= ");
REM { find all possible languages };
_LANGUAGE:="**": @Unique(@DbColumn("Notes" : "NoCache"; "" : ""; _view; 1));
REM {select a new language or delete the entry from notes.ini if "**" is selected};
_NEWLANG:=@Prompt([OkCancelCombo];
@Word(@Word(_val;";";1);"~";1);
@Word(@Word(_val;";";1);"~";2);
@Environment("HDLang"); _LANGUAGE);
REM { Set the environment variable };
@If(_NEWLANG = "**";@Environment("HDLang"; "");@Environment("HDLang"; @UpperCase(_NEWLANG)));
@SetTargetFrame("_top");
@PostedCommand([OpenFrameset];"FS-MAIN")
Wo ist der Fehler ?
Sorry, wollte auch mal so eine Frage stellen
Spaß beiseite; Möglicherweise gibt es jemanden hier, der das erklären kann : "Logisch, kann man doch nicht so machen; muss ja crashen", oder es handelt sich um einen BUG.