Satimage Précédent | Suivant
Appel à votre code depuis un script AppleScript
Accueil Documentation Smile Calcul numérique Exploitation de programmes externes Les projets XCode Appel à votre code depuis un script AppleScript  
Une fois votre code rendu scriptable et compilé, il ne vous reste qu'à l'appeler pour le tester et l'utiliser. Deux cas se présentent, selon qu'il s'agit d'un complément de pilotage ou d'une application scriptable.
Cas d'un complément de pilotage
Supposons que vous ayez produit un complément de pilotage MyOsax.osax contenant un verbe MOSolver défini comme suit dans son dictionnaire :

MOSolver matrix
     degree integer
     Result : record

Pour déboguer votre code, il vous faudra exécuter votre complément de pilotage sous forme d'une application scriptable (choisissez la cible DebugOsax de votre projet et lancez-la en mode debug). Reportez-vous ensuite à la section de cette page concernant les applications scriptables. Ce qui suit concerne l'appel d'une fonction du complément de pilotage, en mode final (c'est-à-dire effectivement sous la forme d'un complément de pilotage).

Pour pouvoir appeler votre fonction depuis AppleScript (par exemple dans Smile), vous devez copiez le fichier MyOsax.osax dans le dossier /Library/ScriptingAdditions/ à la racine du disque ou bien dans le domaine utilisateur dans le dossier ~/Library/ScriptingAdditions/. Si ce dossier n'existe pas, créez-le.
Il vous suffit ensuite d'appeler votre verbe par exemple depuis un terminal AppleScript de Smile :


set m to creatematrix "x" ncols 10 nrows 10 as matrix
set n to 3
set x to MOSolver m degree n

Cas d'une application scriptable
Admettons que vous ayez produit une application scriptable MyApp.app contenant un verbe MASolver défini comme suit dans son dictionnaire :

MASolver matrix
     degree integer
     Result : record

Pour pouvoir appeler votre fonction depuis AppleScript (par exemple dans Smile), vous devez lancer votre application (vous pouvez la lancer en mode debug depuis XCode si vous voulez déboguer votre code, à condition de l'avoir compilée avec les symboles de débogage). Il vous suffit ensuite d'appeler votre fonction à l'intérieur d'une encapsulation tell ... end tell.


set m to creatematrix "x" ncols 10 nrows 10 as matrix
set n to 3
tell application "MyApp" to set x to MASolver m degree n

Vous trouverez des informations supplémentaires sur l'exécution d'un code scriptable, notamment en ce qui concerne les problèmes de timeout d'AppleScript, sur la page suivante :
Surveillance du déroulement d'une application scriptable
English version
Copyright ©2008 Paris, Satimage