Как определить, на какой ОС запущена программа? - PullRequest
0 голосов
/ 30 ноября 2011

Я создаю приложение, которое может иметь несколько разных задач в зависимости от операционной системы, в которой оно запущено, поэтому я хочу знать, есть ли какой-нибудь способ обнаружить ОС и сохранить ее в переменной.

1 Ответ

1 голос
/ 01 декабря 2011

Поскольку вам нужно скомпилировать отдельные исполняемые файлы для каждой ОС, вы можете просто использовать {$IFDEF}:

{$IFDEF MACOS} // Mac OSX
{$IFDEF WIN64} // Windows 64 bit
{$IFDEF WIN32} // Windows 32 bit app 
{$IFDEF Linux} // Linux
{$IFDEF UNIX}  // UNIX

Вы можете отличить Win32 и Win64 от 32-битного приложения, используя SysUtils.TOSVersion.Architecture; Возможные значения: arIntelX86 и arIntelX64, и в общем случае (без учета «битности») между Windows и MacOS с TOSVersion.Platform.

...