Singles Only!
BlitzMax Forums/Brucey's Modules/Singles Only!
| ||
Ever wanted to check if your app was already running? Now you can, with wxSingleInstanceChecker. You create the object either as a global or perhaps as a field of your wxApp object - so that it stays alive for the duration of your program. Then, given a unique name, simply check on startup : Method OnInit:Int() Local name:String = "MyApp-" + wxGetUserId() m_checker = new wxSingleInstanceChecker.Create(name) If m_checker.IsAnotherRunning() Then wxLogError(_("Another program instance is already running, aborting.")) Return False End If ... more initializations ... Return True End Method Another wxMax tip for your viewing pleasure.. :o) |
| ||
Very handy! |
| ||
Indeed! Is it possible to send information directly to an already existing instance of the application? For example: I open a file, then I open another file and it detects the application is already running, so it sends the commandline to the existing instance. |
| ||
Is it possible to send information directly to an already existing instance of the application? For example: I open a file, then I open another file and it detects the application is already running, so it sends the commandline to the existing instance. Should be I think with the wxClient/wxDDEClient & wxServer/wxDDEServer classes, when wxMax get those ported.. Or maybe it's doable already...? |
| ||
Isn't DDE an ancient *Windows-specific* protocol? I doubt there'd be a wx port of it... I'd be interested in knowing a cross-platform way of achieving what Plash is talking about... |
| ||
Yes DDE is windows only, but there's a wx class for it, don't ask why tho.. Here's a link to the (not so helpful) wxWidget docs on interprocess communication. http://docs.wxwidgets.org/stable/wx_ipcoverview.html#ipcoverview |
| ||
I'm sure something like zeroconf/avahi/bonjour is more suited to this kind of thing... ...but then again... If anyone really wants it implementing, I can have a look at it. As Ole's link suggests, wxServer, wxConnection and wxClient, are a cross-platform implementation of it. |
| ||
And after digging around in my hd/head trying to find out where I've seen wxConnection stuff used this way, this is where: http://wxguide.sourceforge.net/editor.html |