Seite 1 von 1
[solved] isNumber Größenbeschränkung
Verfasst: 28 Jun 2017, 22:04
von Tobei
Hi,
mir scheint es so, als ob die Funktion isNumber nur bis zu einer bestimmen Zahlengröße funktioniert, ich vermute bis zum Maximum eines 32-Bit Integer.
Logauszug:
Code: Alles auswählen
Set $Expected_Size$ = calculate($Expected_Size$ + "*1024*1024*1024")
The value of the variable "$Expected_Size$" is now: "13958643712"
If
isNumber($Expected_Size$) <<< result false
not(isNumber($Expected_Size$)) <<< result true
Wäre schön wenn jemand von uib was dazu sagen könnte.
Gruß Tobias
Re: isNumber Größenbeschränkung
Verfasst: 29 Jun 2017, 10:46
von d.oertel
Hallo Tobei,
ja - das ist richtig analysiert:
Die Funktion prüft derzeit auf eine mögliche Konvertierung des stings auf longint:
Wertebereich: -2147483648 .. 2147483647
Speicherbedarf: 4 Byte bzw. 32 Bit
Es ist allerdings eher eine Kleinigkeit diese Prüfung auf int64 abzuändern:
Wertebereich: -9223372036854775808 .. 9223372036854775807
Speicherbedarf: 8 Byte bzw. 64 Bit
Besteht dafür Bedarf ?
Neugierhalber: In welchem Kontext ?
gruß
detlef oertel
Re: isNumber Größenbeschränkung
Verfasst: 29 Jun 2017, 17:12
von Tobei
Hallo Detlef,
danke für deine schnelle Rückmeldung
Wir machen Folgendes:
Nach dem Setup lassen wir per PowerShell Skript die Größe des Installationsverzeichnis berechnen. Dies geschieht in Bytes. Der ermittelte Wert wird mit einem Wert, der in einer Variable gespeichert ist, verglichen. Die Anforderung ist, dass der ermittelte Wert größer gleich dem gespeicherten Wert sein muss. Wir stellen damit sicher, dass uns der Installer nicht mit einem Exitcode 0 anlügen kann. Sprich einfach ein zusätzlicher Test.
Ich habe dir gerade eben den Code mal per Mail geschickt, konkret geht es dann in Zeile 81 schief. Die Größe der Zahl ist relativ schnell erreicht, wenn man in Byte rechnet.
Gruß Tobias
Re: isNumber Größenbeschränkung
Verfasst: 30 Jun 2017, 13:13
von SirTux
Und das geht nicht in größeren Einheiten wie z.B. MByte?
Re: isNumber Größenbeschränkung
Verfasst: 30 Jun 2017, 13:59
von d.oertel
Hi,
hier ist der fix:
http://download.uib.de/opsi4.0/experime ... .14-1.opsi
isNumber prüft jetzt auf Konvertierbarkeit zu int64
Rückmeldungen werden dankbar entgegengenommen.
gruß
detlef oertel
Re: isNumber Größenbeschränkung
Verfasst: 30 Jun 2017, 15:53
von Tobei
Hi,
SirTux hat geschrieben:Und das geht nicht in größeren Einheiten wie z.B. MByte?
MiB sind meiner Meinung nach zu Grob, damit würden sich beispielsweise keine Tests für Installationen durchführen lassen die <1MiB groß sind. Klar man hätte es evtl. so drehen können, dass man KiB als Basiseinheit verwendet.
Primär ging es aber erst mal um die Klärung der Ursache des Problems. Ich denke Detlef hätte es nicht geändert, wenn es jetzt ein großer Aufwand gewesen wäre.
In diesem Sinne danke dir Detlef für die Änderung.
Gruß Tobias