Versionskontrolle


Manche FF-Skriptbefehle stehen erst ab einer bestimmten FixFoto-Version zur Verfügung (s. Befehlsreferenz), sodass auf die jeweils laufende Version geprüft werden muss.
VBScript
if not Version_equal_or_better("3.02.22") then
     Msgbox "Es ist mindestens die FF-Version 3.02 build 22 erforderlich."
     Exit Sub
End if
 
' ** Versionskontrolle **
Function Version_equal_or_better(p_Vers)
     Dim l_VersNr
     l_VersNr=split(p_Vers,".")
     version_equal_or_better=(FF_GetMajor*1000+FF_GetMinor+FF_GetBuild/1000 >= l_VersNr(0)*1000+l_VersNr(1)+l_VersNr(2)/1000)
End Function
Um festzustellen, ob FixFoto in der 32-Bit oder in der 64-Bit-Version läuft, kann die folgende Funktion genutzt werden:
VBScript
Function Is64Bit()
     ' gibt True zurück, wenn FF in der 64 Bit-Version läuft
     ' basiert darauf, dass Xe847 unter 64 Bit nicht verfügbar ist
     ' Idee: Niels1938
    Dim test
    test = "a"
    FF_NewImage 2, 2, 65535 ' Bild erzeugen, damit XE847 fehlerfrei läuft obwohl Arbeitsfläche ggf. leer ist
    On Error Resume Next    ' fängt Fehler in der 64 Bit-Version ab
    test = FF_Xe847(1)
    On Error Goto 0
     If test = "a" then
        Is64Bit = True      ' FF 64 Bit
    Else
        Is64Bit = False     ' FF 32 Bit
    End If
End Function
JScript
// erst mal wird von 32bit ausgegangen...
var bit = "32bit";
// ein Bild wird erzeugt, damit, falls in FF keines auf der Arbeitsfläche sein sollte, XE847 ohne Felhermeldung aufgerufen werden kann
FF_NewImage(2, 2, 65535);
// XE 847 wird ausprobiert (try) und falls es nicht funzt, (catch (e)) wird bit auf "64bit" gesetzt
try {FF_Xe847(1);} catch(e){bit = "64bit";}
ff_messagebox("FixFoto läuft in " + bit ,64);