Frohes Neues zusammen
Neues Jahr, neues iPad. Hab eben eine Test-Db zusammengeklickt.
Spoiler: alles funktioniert exakt so wie es soll, nix kaputt oder zahnlos.
<TLDR> @if(@platform = „iOS“; „form1“;“form2“) klappt hervorragend, wenn man es z.B. als Maskenformel in die Views (=wenig Arbeit) einbaut. </TLDR>
Testszenario:
1 View mit drei Spalten, eine Spalte wird am iPad im Testszenario korrekt mit Hide-When @Platform = "iOS" unsichtbar
1 Outline (mit Standardgliederung zum Testen)
2 Pages als Container für das Outline, je eine Page für die beiden Welten, unterschiedlich gefärbt damit man auch sieht welches geladen wurde.
1 Frameset, dass im linken Frame die Page lädt, die für das OS gedacht ist (benanntes Element, auch hier wieder mit @Platform unterschieden welches geladen werden soll)
Das Frameset als Starteigenschaft der DB gesetzt.
2 verschiedene Masken, je eine für iOS und eine für den Rest der Welt. Ich war faul und hab den beiden Masken einfach das gewünschte OS als weiteren Alias gegeben, macht den Code zum Testen kürzer. Stolperfalle wer das nachmacht: wenn man viele Masken hat muss man sich natürlich unterschiedliche Aliasnamen ausdenken
Test 1: @Command([Compose];"";@Platform) öffnet im Testszenario die korrekte Maske je Client-OS. Check.
Nachteil dieser Variante - man muss jetzt in allen Masken (via Query- oder PostOpen) auch den Maskenwechsel hinein basteln damit es auch beim Öffnen klappt. Oder alles in berechnete Teilmasken auslagern. Sehr viel Aufwand. Und die Performance leidet unter den ganzen berechneten Teilmasken ggf. auch noch.
Änderung zur Verringerung des Codes: @Platform jetzt mal simpel als Maskenformel (Eigenschaft der View) gesetzt, ab jetzt erzwingt die View statt der Aktionen die Wahl der Maske sowohl beim Compose als auch beim Öffnen.
Test 2: @Command([Compose];"";"Form1") - jetzt öffnet sogar ein unverändertes Compose (ohne @Platform) die für das jeweilige OS korrekte Maske. Bingo.
Insbesondere die letzte Variante verringert den Anpassungsaufwand ungemein da jetzt nicht mehr die ganzen Aktionen und Openscripte umgeschrieben oder alles in berechnete Teilmasken ausgelagert werden muss.
Wenn viele Masken zum Einsatz kommen muss man allerdings etwas mehr Grips in die Maskenformel stecken als ich das hier beim Testen gemacht hab.
In diesem Sinne - viel Erfolg!
PS: Was mir übrigens das Testen gerade ungemein erleichtert hat ist die Tatsache, dass Notes sich unter iOS 13.x jetzt sogar mit Maus bedienen lässt
PPS: ich gebe demjenigen einen aus, der mir verrät, wie ich auf einer Logitech Slim Combo die ESC Taste simulieren kann. Alle gefundenen Internettipps funktionieren nicht.
HTH
Carsten