![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какая платформа, брат??? [D3, D6, Win95/98, WinME, NT4, Win2k, WinXP]
Exploited © (2002-09-05 12:32:00)Привет.
Как правильно сделать следующее?.. Если программа запущена под WinXP - использовать одни функции, а если под NT - другие? Каков принцип проверки и т.д.?
Виктор Щербаков (2002-09-05 12:45:00) [1]1. Есть у тебя блок кода который требует вызова одних функций, в случае NT, и других в случае 9x. Пишешь обычный if и все дела.
2. Можно реализовать разные версии одних и тех же функций для разных платформ. При запуске, определив платформу, присвоить неким указателям адреса функций для соответствующей платформы.
Далее вызовы осуществлять ч/з эти указатели. Такой способ более гибкий, т.к. позволяет отделить основную логику программы от платформозависимых вещей.
А вообще, зависит от задачи.
Игорь Шевченко (2002-09-05 12:43:00) [2]http://delphibase.endimus.com/?action=viewfunc&topic=sysparams&id=10002
Игорь Шевченко (2002-09-05 12:42:00) [3]Наверное там, где надо выполнять код в зависимости от версии операционной системы...
Exploited (2002-09-05 12:38:00) [4]Ну понятно. Платформу я узнал, дальше? Где саму проверку лучше ставить? Подробно раскажи что к чему.
Виктор Щербаков (2002-09-05 12:33:00) [5]GetVersionEx