Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

/Util/Restart App on Mac
Required plugins for this example: MBS MacOSX Plugin, MBS Util Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Util/Restart App on Mac
This example is the version from Fri, 25th Jun 2015.
Project "Restart App on Mac.rbp"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control BevelButton1 Inherits BevelButton
ControlInstance BevelButton1 Inherits BevelButton
EventHandler Sub Action() // this is for Mac where we detect app by Bundle ID const BundleID = "com.apple.Safari" // step 1, quit Safari dim found as Boolean = false dim p as new ProcessMBS p.GetFirstProcess do if p.BundleID = BundleID then found = true call p.QuitProcess exit end if loop until not p.GetNextProcess if found then // step 2, wait for Safari to quit do found = false p.GetFirstProcess do if p.BundleID = BundleID then found = true end if loop until not p.GetNextProcess if not found then // wait some time DelayMBS 0.1 end if loop until found = false end if // step 3, start again // requires also Mac plugin dim file as FolderItem = LaunchServicesFindApplicationForInfoMBS("", BundleID, "") // LaunchServicesFindApplicationForInfoMBS is in MacOSX plugin if file<>Nil then file.Launch end if End EventHandler
End Control
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS Util Plugin.

MBS FileMaker blog