Detectar la plataforma MacIntel
En 4D, el comando Gestalt no permite detectar la plataforma Intel bajo Mac y siempre devuelve PPC, cualquiera que sea el tipo de Mac.
Conforme a la documentación Apple, este comando funciona con el código “sysa” (Native Sys Architecture)
$LongInt_errorCode := Gestalt (”sysa”; $LongInt_returnValue)
$LongInt_errorCode := Gestalt (”sysa”; $LongInt_returnValue)
$LongInt_returnValue debería devolver ‘10’ para un Macintel y ‘2’ para un PowerPC. Pero retorna ‘2’ en todos los casos.
Para solucionar el problema hay que utilizar el comando LAUNCH EXTERNAL PROCESS que permite disparar el comando Applescript ‘system attribute “sysa”‘ que devuelve el valor correcto.
C_TEXT($Out)
C_TEXT($In)
LAUNCH EXTERNAL PROCESS (”osascript -e ’system attribute \”sysa\” ‘”;$In;$Out)
C_TEXT($Out)
C_TEXT($In)
LAUNCH EXTERNAL PROCESS (”osascript -e ’system attribute \”sysa\” ‘”;$In;$Out)
El comando devuelve 10 para MacIntel y 2 para PowerPC en la variable de salida $Out.
Publicado el 27 Julio, 2007 por redaccion | | Imprime este artículo