[AppleScript]Récupérer une valeur
muqaddar
Administrateur
Salut,
Si j'exécute un AppleScript depuis mon appli cocoa (pas forcément depuis une IBAction) mais en l'appelant depuis une fonction void par exemple, ça lance le script, il s'exécute mais comment récupérer dans mon application cocoa la valeur (ou les valeurs) calculées par le script ?
merci.
PS : j'ai même pas encore lancer le script...
Si j'exécute un AppleScript depuis mon appli cocoa (pas forcément depuis une IBAction) mais en l'appelant depuis une fonction void par exemple, ça lance le script, il s'exécute mais comment récupérer dans mon application cocoa la valeur (ou les valeurs) calculées par le script ?
merci.
PS : j'ai même pas encore lancer le script...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Oui, j'utilise NSAppleScript.
[tt]
NSAppleScript *monScript;
NSAppleEventDescriptor *descriptor;
NSDictionary *erreurInfo;
erreurInfo=[NSDictionary dictionary];
monScript=NSAppleScript alloc] initWithSource:[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"nomDuScript" ofType:@"txt"];
descriptor=[monScript executeAndReturnError:&erreurInfo];
[monScript release];
[/tt]
Mon script s'éxécute bien ds l'éditeur de scripts, il me renvoie d'ailleurs ma chaine entre guillemets.
Comme "toto" par exemple.
J'ai fais un court script ds un fichier test.txt :
set toto to "prout"
return toto
et dans mon appli cocoa :
[tt]
NSAppleScript *monScript;
NSAppleEventDescriptor *resultScript;
NSDictionary *erreurInfo;
erreurInfo=[NSDictionary dictionary];
monScript=NSAppleScript alloc] initWithSource:[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];
resultScript=[monScript executeAndReturnError:&erreurInfo];
if (resultScript) {
NSLog(@valeur : %@", [resultScript stringValue]);
}
[monScript release];
[/tt]
Il me retourne : valeur : (null)
Je comprends pas.
Le txt n'était pas en UTF... comme quoi, faut pas grand chose.
[EDIT] Ha ben c'est plus la peine ! ;D
Parce que là j'ai un petit bug et c'est une piste possible...
ce n'était pas la string du chemin mais le code AppleScript en lui même ... code qui faisait juste que répondre le célèbre Hello World !