Invoquer de l'Objective C depuis AppleScript

Didier Guillion

Membre expert
Club iGen
20 Juillet 2001
3 244
164
61
Toulouse
www.myriad-online.com
Bonjour,

Je voudrais appeler une fonction écrite en Obj-C depuis l'AppleScript.

Quand je n'ai qu'un parametre cela marche nickel, des que j'en ai deux ou plus je n'y arrive pas.

Ma fonction s'appelle "ConvertJpg", elle doit recevoir deux chaines de caracteres en parametre

Je déclare dans le header (.h)
@interface NSApplication (ASKAConvertJpg)
- (BOOL)ConvertJpg:(NSString *)SourceFile:(NSString *)DestFile;
@end

Je defini la fonction (.m) :

@implementation NSApplication (ASKAConvertJpg)
- (BOOL)ConvertJpg:(NSString *)SourceFile:(NSString *)DestFile
{
return((BOOL)1);
}
@end

(Je veux simplement savoir si ma fonction est correctement appellée, je remplirait le corps plus tard bien sur)

En appleScript j'ecrit :
set value to call method "ConvertJpg:" with parameters {"aaaa, "bbbb"}
log value

Et j'obtient l'erreur "Variable non definie" donc ma fonction n'est pas correctement appelée.

Si vous avez une idée, ou même un source d'exemple qui utilise ce genre d'appel, vous aurez droit à ma reconnaissance éternelle...

Cordialement
 
salut j'ai eu la meme galère comme quoi

j'ai fini par envoyer un seul argurment qui est un tableau d'arguments

et j'explose ce tableau

je sais c'est stupide le serpent qui se mort lui meme la ...

si tu as trouvé une autre solu

je suis preneur

je suis preneur aussi pour ce qui est de la gestion des kevents de cocoa à carbon et inversement

j'ai quelques résultats pour du moin disons surprenant



crazy.gif
crazy.gif
crazy.gif
crazy.gif
crazy.gif
crazy.gif
crazy.gif
crazy.gif
 
bah imaginons

j'appel

myargs=tab["argument1","argument2","argument3"]

mymethod(myargs)

a l'entrée de mymethod tu split l'argument unique

sachant que normalement

mymethod(myarg1,myarg2)

argc argv mais je n'ai pas trouvé de solution à ce problème autre
que ca



zen.gif
zen.gif
 
non c'est pas de l'applescript biensur

tu veux donc une transcription je te donne ca lundi

petit tour en vroum tooday
 
Didier Guillion a dit:

En appleScript j'ecrit :
set value to call method "ConvertJpg:" with parameters {"aaaa, "bbbb"}
log value

Je connais absolument pas AppleScript, mais il manquerait pas un guillemet fermant dans ce code ? (après les a : {"aaaa, "bbbb"} )
 
je viens faire un petit tour


- (BOOL)ConvertJpg:(NSString *)SourceFile:(NSString *)DestFile
{


}

set SourceFile to "/my/path"
set DestFile to "/my/path/tomove"

set value to call method "ConvertJpg:" with parameter {SourceFile,DestFile}


set FileList to {"/my/path","/my/path/tomove"}
set value to call method "ConvertJpg:" with parameter FileList

mais tu doit changer coter objective parce que tu recoit une liste et
non plus deux strings

bon il ya une suptilité avec parameters et parameter

parameters c'est une list
et parameter un item

(la doc)

si tu as une method avec des parametres definies

tu dois lui fourguer le nombre de parametres en item

c'est bizarre je sais mais ca fonctionne

j'ai pas tout compris mais je me suis inscrit a la apple-script list

par ce que ca m'a donné l'occaze de me réinterresser au probleme







laugh.gif
laugh.gif
ooo.gif
ooo.gif
 
je suis pas tres clair apres relecture je prendrais le temps de faire une bafouille en human readable interface

ooo.gif
ooo.gif


en gros mymethod :int d:int w:int z :int x

call "mymethod:" with parameter (sans s) {10,10,10,10}