![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с портом ВВ в NT [D6, NT4]
Alexsandr © (2002-05-21 18:41:00)Граждане, подскажите каким образом в NT можно работать с портами ввода/вывода.
Александр
слон (2002-05-23 05:13:00) [1]то же самое ZlPortIO и твоя прога будет работать по NT и 9x
без проблем!
CapFunny (2002-05-21 19:16:00) [2]Добрый день.
Мне в свое время пришлось сталкиваться с подобной проблемой, так что приготовьтесь записывать :)
Введение.
Дело в том, что NT запрещает прямое обращение к портам любых устройств. На этом, собственно и основывается ее надежность и устойчивость. Обращение к портам устройства возможно лишь с помощью зарегистрированного в системе драйвера этого устройства, причем надо сразу оговорится, что такая среда разработки, как DELPHI не поддерживает возможность разработки драйверов. Соответственно программа на DELPHI должна использовать драйвер, написаный в другой среде, имеющей свой DDK.
Теперь ответ на Ваш вопрос.
Для обращения к любому порту (теоритически) любого устройства нужно использовать драйвер, реализующий просто сами по себе обращения, побобные ассемблерным IN и OUT. Существует большое количество компонентов для дельфи, которые реализуют эту возможность. Работают они примерно одинаково: сначало регистрируют в системе поставляемый с ними драйвер, потом пользуются экспортированными из него функциями. Я в свое время использовал замечательный компонент SmallPort ( http://www.torry.net/portaccess.htm), написаный Александром Вейтзманом. Если нет желания использовать компонент целиком, можно просто пользоваться поставляемым с ним драйвером, предварительно зарегистрировав его в системе. Узнать, как это делается можно, посмотрев код компонента.
Вот собственно и все, удачи.