Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какая платформа, брат??? [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо