Auswirkung der Auswahlpunkte im Formular "Variable definieren" ?  GELÖST

Anwenderaustausch zur PhraseExpress Makroprogrammierung
Post Reply
Peter Stotz
PhraseExpress Expert
Posts: 775
Joined: 27 Feb 08, 15:07

Auswirkung der Auswahlpunkte im Formular "Variable definieren" ?

Post by Peter Stotz » 09 May 19, 17:19

@Admin/@Technischer Support
Können Sie mir (und den PhraseExpress-Fans) bitte zum besseren Verständnis
der folgenden Auswahlpunkte im Formular "Variable definieren" verhelfen?
1. Im Variablenmanager speichern
→ Die erzeugte Variable wird als {{variable}} im Variablenmanager verfügbar
2. Inhalt nur bis Programmende merken
→ erzeugt mit #settemp eine temporäre Variable wie von früheren Versionen her bekannt.
3. Inhalt in Textbausteindatei/-datenbank speichern
→ erzeugt mit #set eine Variable, die im Variablenmanager verfügbar ist

Was ist der Unterschied zwischen den Variablen bei Wahl von Punkt 1 bzw. Punkt 3?
In beiden Fällen wird eine Variable im Variablenmanager bereitgestellt.

Die aufeinanderfolgenden Auswahlpunkte 2 und 3 erzeugen den Eindruck,
dass Wahl 3 im Gegensatz zu Wahl 2 eine 'nichtflüchtige' Variable erzeugt - was wohl nicht zutrifft, oder?
Wie unterscheiden sich Variablen bei Anwendung von set bzw. settemp ?

Fraaaaagen über Fraaagen....
Danke für Information!
Peter Stotz
Windows 10 - PhraseExpress v14.0.143

Technical Support
Posts: 2202
Joined: 10 Feb 06, 22:23

Post by Technical Support » 10 May 19, 08:47

Punkt 1 erstellt eine globale nicht flüchtige Variable, die abhängigen von Auswahl von 2 oder 3 eine andere globale Variable setzt (Punkt 3) oder eine flüchtige Variable setzt (Punkt 2). Wenn man Punk 1 nicht auswählt, dann werden einfach entsprechenden Makros erstellt.
Eine mit Punkt 3 gesetzte Variable ist im Gengensatz zu der im Punkt 1 nicht flüchtig.

Peter Stotz
PhraseExpress Expert
Posts: 775
Joined: 27 Feb 08, 15:07

Post by Peter Stotz » 10 May 19, 18:57

@Technischer Support
Danke für die Information.
„Eine mit Punkt 3 gesetzte Variable ist im Gegensatz zu der im Punkt 1 nicht flüchtig.“

Hmm - müsste dann bei der Auswahl
3. Inhalt in Textbausteindatei/-datenbank speichern
nicht der Parameter -save eingefügt werden?
So stellt sich z.B. meine Testvariable dar:
{#set -name <aaa> -content aaa nichtflüchtig?}
Erwarten würde ich
{#set -name <aaa> -content aaa nichtflüchtig? -SAVE}

Oder interpretiere ich dies falsch?
Peter Stotz
Windows 10 - PhraseExpress v14.0.143

Technical Support
Posts: 2202
Joined: 10 Feb 06, 22:23

Post by Technical Support » 10 May 19, 21:03

Den Parameter -save gibt es nicht mehr, bzw. dieser ist nicht mehr notwendig - globale Variablen sind immer NICHT flüchtig.

Peter Stotz
PhraseExpress Expert
Posts: 775
Joined: 27 Feb 08, 15:07

Post by Peter Stotz » 10 May 19, 23:18

@Technischer Support
„globale Variablen sind immer NICHT flüchtig.“
Ja so sollte das sein...
Verzeiht meine Beharrlichkeit, aber aus meiner Sicht stimmt da etwas nicht...
Bei folgendem Testbaustein ist bei beiden Variablendefinitionen die Option
"Inhalt in Textbausteindatei/-datenbank speichern" aktiviert, das -save bei <bbb> habe ich aber manuell hinzugefügt:
{#set -name <aaa> -content aaa flüchtig!?}{{<aaa>}}
{#set -name <bbb> -content bbb nichtflüchtig! -save}{{<bbb>}}


Testablauf:
1. Ausführen des Testbausteins - Ausgabe ist:
aaa flüchtig!?
bbb nichtflüchtig!
Die beiden Variablen befinden sich nun im Variablenmanager.
2. Beenden und Neustarten von PhraseExpress
3. Jetzt ist
{{<aaa>}} leer
{{<bbb>}} mit "bbb nichtflüchtig!" belegt

Peter Stotz
Windows 10 - PhraseExpress v14.0.143
Update am 15.05.2019:
Mit PhraseExpress 14.0.144 werden nun mit #set im Variablenmanager nichtflüchtige globale Variablen erstellt.
Danke!

Technical Support
Posts: 2202
Joined: 10 Feb 06, 22:23

Post by Technical Support » 13 May 19, 08:49

Oh, Sie haben recht. Es sollte aber nicht so sein. Wir werden das Verhalten in den nächsten Versionen anpassen.

Post Reply