[Mono-list] Determining the platform at compile and run time
Fergus Henderson
fjh@cs.mu.OZ.AU
Fri, 31 Oct 2003 14:44:59 +1100
On 31-Oct-2003, Chris Seaton <chris@chrisseaton.com> wrote:
> On Fri, 2003-10-31 at 01:29, Fergus Henderson wrote:
> > On 29-Oct-2003, Chris Seaton <chris@chrisseaton.com> wrote:
> > > How do I know what OS my program is running on at run time?
> >
> > Why do you care?
>
> To select between GTK# and SWF.
I can quite easily imagine systems on which both are supported.
I would suggest something like this:
bool prefer_gtk; // set by command-line option
// or environment variable
if (prefer_gtk)
try {
code to use GTK#;
} catch (GTK# not availabe) {
code to use SWF;
}
} else {
try {
code to use SWF;
} catch (SWF not availabe) {
code to use GTK#;
}
}
You can do this just for the first call, and save the results in a
variable which you then use to decide which GUI to use for later calls.
It would be reasonable to use the OS setting to determine the default
value of prefer_gtk. But you should definitely try both, regardless of
which OS the platform claims to be.
--
From: Fergus Henderson <fjh@cs.mu.oz.au>
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.