RucksackSepp
Level-2
- Beiträge
- 32
- Reaktionspunkte
- 9
Hallo zusammen,
ich steh vor folgendem Problem, mit nur wenigen (nicht schönen) Auswegen. Ich bastelte für unser MTP1200 Basic ein "Pop-Up" zur Ja-Nein-Abfrage, um kritische Bedienhandlungen bestätigen zu müssen. Dafür gibt es zwei Variablen: eine zum Text auswählen über eine Ressourcenliste und eine die als Rückgabewert vom Pop-Up benutzt wird. Bedient wird entweder am Panel selbst, oder auch parallel über den Webzugriff.
Der Rückgabewert ist eine sitzungslokale Variable, da sonst im Falle von zwei Pop-Ups (Panel und Web-Client jeweils verschiedene Abfrage-Gründe, aber gleichzeitig) mit einer Bedienhandlung auch die anderen Abfragen entschieden werden. Soll eben nicht passieren, wäre sicherheitstechnisch nicht unbedingt klug.
Jetzt wird's knifflig. Der Text im Fenster sollte sich nach Bedarf der Abfrage ändern können, wie z.B. "Wert zurücksetzten?". Bisher sind die Sprachen Deutsch und Englisch im Projekt, aber man muss damit rechnen, dass noch eine dritte hinzukommen wird, je nachdem wohin ausgeliefert wird. Man kann den Text z.B. über eine Ressource/Textliste eintragen und über den Pop-Up-Aufruf-Button den Wert dafür bestimmen. Nur der Nachteil dabei ist, dass die Variable zum steuern einer Textliste nur Systemweit sein darf. Damit würde ich aber alle Texte auf allen Clients immer mit dem aktuellen Wert überschreiben, was bei einer Parallel-Bedienung fatal sein kann. Die andere Lösung ist folgende, im Skript des Button die Frage definieren und mit der Sprach-ID einer sitzungslokalen Variable zuweisen. Ist zwar möglich, aber sobald eine dritte Sprache, oder eine Textänderung anfällt, sehr mühselig, bis sehr schwer an alle Buttons zu denken.
TEST = Abfrage-Text

YesNoText = Ressourcen-Nummer in der Textliste

Kurz zusammengefasst: Sitzungslokal, dann aber in jedem Button, jeden Text inkl. Sprache einpflegen ODER Systemweit, dann aber an allen Clients gleichzeitig der selbe Text, dafür aber komfortabel über eine Textliste.
Gibt es noch eine dritte Möglichkeit an welche ich gerade nicht denke, das Problem zu lösen?
ich steh vor folgendem Problem, mit nur wenigen (nicht schönen) Auswegen. Ich bastelte für unser MTP1200 Basic ein "Pop-Up" zur Ja-Nein-Abfrage, um kritische Bedienhandlungen bestätigen zu müssen. Dafür gibt es zwei Variablen: eine zum Text auswählen über eine Ressourcenliste und eine die als Rückgabewert vom Pop-Up benutzt wird. Bedient wird entweder am Panel selbst, oder auch parallel über den Webzugriff.
Der Rückgabewert ist eine sitzungslokale Variable, da sonst im Falle von zwei Pop-Ups (Panel und Web-Client jeweils verschiedene Abfrage-Gründe, aber gleichzeitig) mit einer Bedienhandlung auch die anderen Abfragen entschieden werden. Soll eben nicht passieren, wäre sicherheitstechnisch nicht unbedingt klug.
Jetzt wird's knifflig. Der Text im Fenster sollte sich nach Bedarf der Abfrage ändern können, wie z.B. "Wert zurücksetzten?". Bisher sind die Sprachen Deutsch und Englisch im Projekt, aber man muss damit rechnen, dass noch eine dritte hinzukommen wird, je nachdem wohin ausgeliefert wird. Man kann den Text z.B. über eine Ressource/Textliste eintragen und über den Pop-Up-Aufruf-Button den Wert dafür bestimmen. Nur der Nachteil dabei ist, dass die Variable zum steuern einer Textliste nur Systemweit sein darf. Damit würde ich aber alle Texte auf allen Clients immer mit dem aktuellen Wert überschreiben, was bei einer Parallel-Bedienung fatal sein kann. Die andere Lösung ist folgende, im Skript des Button die Frage definieren und mit der Sprach-ID einer sitzungslokalen Variable zuweisen. Ist zwar möglich, aber sobald eine dritte Sprache, oder eine Textänderung anfällt, sehr mühselig, bis sehr schwer an alle Buttons zu denken.
TEST = Abfrage-Text

YesNoText = Ressourcen-Nummer in der Textliste

Kurz zusammengefasst: Sitzungslokal, dann aber in jedem Button, jeden Text inkl. Sprache einpflegen ODER Systemweit, dann aber an allen Clients gleichzeitig der selbe Text, dafür aber komfortabel über eine Textliste.
Gibt es noch eine dritte Möglichkeit an welche ich gerade nicht denke, das Problem zu lösen?