Jump to content
  • 0

Get ( SystemVersion ) -> fout

Peter Wagemans


4 answers to this question

Recommended Posts

  • 0

Er is meer software dat hier een probleem mee heeft, geen enkele developer had ooit verwacht dat we verder zouden komen dan een .9 versie ;-)


Verdere uitleg, gevonden op internet:


"The initial three digits for "10.4.10" are the same as "10.4.1," an earlier release of Mac OS X 10.4 (Tiger). Since the "MAC_OS_X_VERSION_ACTUAL" string (used by Cocoa applications to determine the current OS version) can carry a maximum of four digits, Mac OS X 10.4.10 and and 10.4.1 are both labeled "1041."

Link to comment
  • 0


Theorie: ik krijg "10.4.9" terug, dus hebben ze het maar op die manier voorlopig opgelost?


Via AppleScript is het al even erg:

tell application "Finder" to get system attribute "sysv"

-> 4169


4169 is een decimale vorm van 1049 in hex, en voila, hier zit 'm weer.

4170 had OK geweest, maar dan kreeg je 104A in hex, en misschien zit daar het probleem weer, dat kan je natuurlijk weer niet meer goed lezen.

Het probleem van de "digits" die geen letters kunnen zijn? Misschien.


Als je zo zit te prutsen met je versienummer, hoe is dan de rest van de software...? Grapje.

Link to comment
  • 0

Wacht, blijkbaar is het gedocumenteerd:




If the values of the minor or bug fix revision are larger than 9, then gestaltSystemVersion will substitute the value 9 for them. For example, Mac OS X 10.3.15 will be returned as 0x1039, and Mac OS X 10.10.5 will return 0x1095.


A better way to obtain version information in Mac OS X is to read the system version information from the following file:





Dus, als je de systeemversie correct wil weten, doe je:

defaults read /System/Library/CoreServices/SystemVersion ProductVersion

vanuit de command prompt, of je execute het via 1 of andere plug-in vanuit je FileMaker, bijvoorbeeld:

TrFile_ExecuteShell( "" ; "defaults read /System/Library/CoreServices/SystemVersion ProductVersion" )


Als je dan een mooie functie wil die het multiplatform doet:

Case (
Abs ( Get ( SystemPlatform ) ) = 2 ; Substitute ( Get ( SystemVersion ) ; "," ; "." ) ;
GetValue ( TrFile_ExecuteShell( "" ; "defaults read /System/Library/CoreServices/SystemVersion ProductVersion" ) ; 1 )

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...