If-Abfrage auf Paketvariable in PFP R2 HF5 schlägt fehl

Post Reply
ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

If-Abfrage auf Paketvariable in PFP R2 HF5 schlägt fehl

Post by ilovit » 21. Sep 2007, 16:38

Hallo zusammen,

ich habe diese Abfrage:
If %VM_VPN_Client% == 1 Then "Reg:VPNClientSetting" Else "Reg:NoVPNClientSetting" EndIf
If %VM_VPN_Client% == 1 Then "Shell:VPNClientSetting" Else "Shell:NoVPNClientSetting" EndIf

Die Variable VPN_Client ist eine Zahl, deren min-Wert 0 und max-Wert 1 ist.
Mein Problem ist, dass immer in den Else-Zweig gesprungen wird, obwohl die Variable auf 1 steht! In HF 6 steht:
"The defined minimum and maximum values of variables are ignored".

Frage 1: Muss man zwischen Zahlen und Strings in IF-Abfragen unterscheiden? (z.B. mit oder ohne ")
Frage 2: Schlägt hier evtl. das Problem zu, welches mit HF6 gelöst sein soll?

Freundliche Grüße

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Post by Hendrik_Ambrosius » 21. Sep 2007, 16:44

Bitte mal so versuchen, so mache ich es immer:

If "%VM_VPN_Client%" = "1"

Außerdem vorher mal ein ECHO oder ErrorLogMsg einbauen um zu sehen ob der Wert auch so ist wie man denkt ;-)
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

Post by ilovit » 21. Sep 2007, 17:11

Hallo,

meine Abfrage, mit der es funktionierte, lautet nun:
If "%VM_VPN_Client%" == "1 " Then "Reg:VPNClientSetting" Else "Reg:NoVPNClientSetting" EndIf

D.h. nach der 1 kommt noch ein Leerzeichen, und das obwohl die Variable als Zahl definiert wurde.
Ist das ein Bug?

SchoehD
Posts: 25
Joined: 14. Dec 2004, 11:22
Location: Niedernberg
Contact:

Post by SchoehD » 21. Sep 2007, 17:26

Ist das ein Bug?
Bei Empirum doch nicht. 99% der Bugs sind missverstandene Features ;)

ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

Post by ilovit » 21. Sep 2007, 17:32

Habe die Variable sogar als Text definiert. Folge: gleiches Verhalten, d.h. "1 " funktioniert und "1" funktioniert nicht.

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Post by Hendrik_Ambrosius » 21. Sep 2007, 17:33

Dann wird die Variable wohl mit einem String gefüllt und hat hinten dran noch ein Leerzeichen. Da kann ja Empirum nix dafür ;-)
Kann man ggf. über die entsprechenden Befehle abschneiden.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

Post by ilovit » 24. Sep 2007, 10:27

Das leuchtet mir jetzt nicht ein, dass Empirum nichts dafür kann. Schließlich definiere ich die Variable über die Empirum-Console. Und wenn die Variable als Zahl definiert wurde hat der User ein Pull-Down-Menü zur Auswahl, wenn er die Zahl für die Variable setzen will. Im GUI wurde für die Zahl ein Min- und ein Max-Wert festgelegt.
In der Setup.inf-Datei wird die Variable einfach nur so verwendet, wie die Variable übergeben wird.
Mir ist es daher schon wichtig zu wissen, ob dies ein gewünschtes Verhalten oder ein Bug ist, denn im Falle eines Bugs kann es ja sein, dass matrix diesen fixed und ich dann meine Setup.inf-Dateien anpassen muss, d.h. meinen Workaround wieder ausbauen muss.

SchoehD
Posts: 25
Joined: 14. Dec 2004, 11:22
Location: Niedernberg
Contact:

Post by SchoehD » 24. Sep 2007, 11:04

Moin moin, was mir dazu noch einfällt ist folgendes. Könnte es sein, dass beim Auslesen des Variablenwertes (ich vermute in Sektion [Environment]) nach dem letzten %-Zeichen noch ein Leerschritt steht? In diesem Fall könnte Empirum wirklich nichts dafür.

Gruß
Dominic

ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

Post by ilovit » 24. Sep 2007, 11:57

Danke für den Tip. Habe ich nochmals überprüft. Ist nicht der Fall.
mfg
ilovit

ilovit
Posts: 11
Joined: 08. Aug 2007, 10:00
Contact:

Post by ilovit » 24. Sep 2007, 12:23

Hallo Dominic,

Sie hatten doch Recht. Ausgerechnet der Depot-Server, an dem der Client hing, hatte nicht das aktuelle Setup.inf-File. Ist mir wohl beim manuellen Synchronisieren durchgerutscht.
Doch nun funktioniert es.
==> Entwarnung: kein Bug im Empirum. Der Fehler war vor dem Monitor.

Vielen Dank für die Unterstützung.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 1 guest