Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Forum 4D Documentations F.A.Q 4D Trucs & astuces Notes techniques 4D & SGBDR 4D & XML 4D & Web Livres 4D

Détecter la plateforme MacIntel

Date de publication : 30/05/2007

Par Support Technique 4D
 



Produit : 4D 2004 · Plateforme : Mac

La commande 4D Gestalt ne fait pas la différence entre un PPC et un MacIntel.

Selon la documentation Apple, cette commande s'utilise avec le code "sysa" (Native Sys Architecture) :
code 4D

$LongInt_errorCode := Gestalt ("sysa"; $LongInt_returnValue)

$LongInt_returnValue devrait retourner '10' pour un MacIntel et '2' pour un PowerPC. Mais elle retourne '2' quelque soit le type de Mac.


La solution est d'utiliser la commande LANCER PROCESS EXTERNE pour exécuter la commande Applescript 'system attribute "sysa"' qui retourne la valeur attendue.

Voici un code exemple :
code 4D

C_TEXTE($Out)
C_TEXTE($In)
C_TEXTE($Erreur)
LANCER PROCESS EXTERNE("osascript -e 'system attribute \"sysa\" '";$In;$Out;$Erreur)

La commande retourne '10' pour un MacIntel et '2' pour un PowerPC, dans la variable de sortie $Out.

info Documentation des commandes 4D :
   · Gestalt
   · LAUNCH EXTERNAL PROCESS

Documentation Apple :
   · en Commande Gestalt et paramètres
   · en Gestalt Manager
Extrait :
-------------------
System Architecture Selectors

Specify the native system architecture.

enum {
   gestaltSysArchitecture = 'sysa',
   gestalt68k = 1,
   gestaltPowerPC = 2,
   gestaltIntel = 10
};
-------------------



Valid XHTML 1.1!Valid CSS!

Copyright © 2007 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique 4D : Elgo - Contacter par EMail :
Vos questions techniques : forum d'entraide 4D - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.