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

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

Работа с портом ВВ в 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), написаный Александром Вейтзманом. Если нет желания использовать компонент целиком, можно просто пользоваться поставляемым с ним драйвером, предварительно зарегистрировав его в системе. Узнать, как это делается можно, посмотрев код компонента.
Вот собственно и все, удачи.


Наверх

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