Erreur Osascript et QT

Fermé
corentin.bc Messages postés 383 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 10 avril 2021 à 17:03
corentin.bc Messages postés 383 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 10 avril 2021 à 18:18
Bonjour,
j'essai d'exécuter un script AppleScript depuis QT, mais n'arrive pour l'instant à rien.
Voici le code QT:

QString noquote = msg; // msg étant le paramètre de la fonction dans laquelle se trouve ce code
noquote.replace("\"", "\\\"");
noquote.replace("'", " ");
QString osas = QString("osascript -l AppleScript -e \"say \"%1\"\"").arg(noquote);
QProcess ps;
ps.startDetached(osas.toUtf8());

Dans mon exemple, la variable msg, avant traîtement donc, contient ça: "Nounours ???? ???? s'est connecté"
À l'exécution, je vois l'erreur suivante:
4:12: execution error: La variable Nounours n’est pas définie. (-2753)
Je sèche complètement pour résoudre ça.
Si quelqu'un a une idée...
Merci d'avance.

2 réponses

yg_be Messages postés 23233 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 septembre 2024 Ambassadeur 1 538
10 avril 2021 à 17:40
bonjour,
as-tu l'erreur si ne ne fais pas
startDetached
?
peux-tu partager le contenu de la variable osas avant QProcess?
je me demande si tu ne devrais pas faire:
QString osas = QString("osascript -l AppleScript -e \"say \\\"%1\\\"\"").arg(noquote);
0
corentin.bc Messages postés 383 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 8
10 avril 2021 à 18:18
Salut,
la variable contient ça:
osascript -l AppleScript -e "say "Nounours ???? ???? has logged in""
oui, c'est en anglais pour l'instant dans le test :)
Je ne comprends pas bien la question avec le startDetached :)
Si je tente ce que tu me propose, j'obtiens ça:
4:5: syntax error: « given », « in », « of », expression, « with », « without », autre nom de paramètre, etc. prévu(s) mais jeton inconnu trouvé(s). (-2741)
Et la variable contient:
osascript -l AppleScript -e "say \"nounours ???? ???? has logged in\""
0