Je veux que mon programme lance une autre application de bureau.Xojo lancer/exécuter une autre application (Mac)
Le shell testé s'exécute (appname ouvert) mais cela ne fonctionne pas.
Existe-t-il un autre moyen?
Merci d'avance.
Je veux que mon programme lance une autre application de bureau.Xojo lancer/exécuter une autre application (Mac)
Le shell testé s'exécute (appname ouvert) mais cela ne fonctionne pas.
Existe-t-il un autre moyen?
Merci d'avance.
Je ne suis pas familier avec Xojo, mais "lancer" une application sur OS X est compliqué. Il y a beaucoup de choses à considérer, surtout si c'est déjà en cours.
Je vous recommande de regarder dans deux options possibles, soit utiliser la capacité de realbasic de lancer appeler du code natif C pour exécuter l'un des trois -[NSWorkspace launchApplication...]
méthodes: https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSWorkspace_Class/Reference/Reference.html#//apple_ref/doc/uid/20000391-SW23
Vous pouvez également utiliser la ligne de commande d'Apple open
outil:
/usr/bin/open -a "App Name"
/usr/bin/open -a "/Applications/App Name.app"
dim s as new Shell
s.Execute("open -a ""Finder""")
' Check error code and do something about it...
if s.ErrorCode <> 0 then
MsgBox("Error code: " + Str(s.ErrorCode) + EndOfLine + "Output: " + s.Result)
end if
Change « Finder
» à quelle que soit l'application dont vous avez besoin, ou de construire une chaîne et passez à s.Execute()
que. Veillez à inclure des guillemets échappés, en particulier si l'application comporte des espaces dans son nom.
Une autre possibilité est d'utiliser le Xojo FolderItem standard et d'utiliser la méthode Launch.
Dim f as folderitem = specialfolder.applications.child("AppName")
if f <> nil and f.exists then
f.launch
end
Documentation de référence: http://docs.xojo.com/index.php/SpecialFolder http://docs.xojo.com/index.php/FolderItem.Launch
Je complètement oublié FolderItem.Launch! C'est certainement le meilleur moyen, et cross plate-forme aussi. – ianmjones
Le seul problème potentiel est que si l'application n'est pas à l'emplacement standard, dans ce cas, vous devez trouver ou savoir déjà où se trouve l'application, ou passer à l'utilisation de la commande "open" via shell. – ianmjones