Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 169

/ вопрос открыт /

Здравствуйте,уважаемые эксперты!Ответьте,пожалуйста, на такой вопрос: как из Дельфи6 напрямую обращаться к LPTпорту под WinXP?Способ,применяемы под Win9x не годится - Винда не пропускает

Мережников Андрей Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Мережников Андрей (статус: Абитуриент)
Вопрос отправлен: 22 ноября 2006, 19:21
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: min@y™

Вариантов, я думаю, много.
На работе мне приходится обращаться к плате, которая торчит в ISA-слоте. Под WinXP. Естественно, написать обмен на ассемблере - не прокатит, т.к. команды IN и OUT заблокированы и доступны только приложениям кольца 0 (драйверам). Пришлось юзать компонент TDLPortIO, который работает со своим универсальным драйвером, позволяющим обмениваться данными с портами с адресами от $100 до $FFFF. Всё работает, все довольны.

При установке этого пакета в палитре компонентов появляются 2 компонента: для работы с последовательными и параллельными портами соответственно.

Скачать его можно, например, отсюда:
http://www.torry.net/vcl/system/portaccess/dlportio.zip

Ещё советую зайти сюда: http://www.torry.net/pages.php?id=227

Тут много чего есть, например (см. приложение):

Приложение:
  1. ZLPortIO driver interface unit v.1.50 FWS 15 k 27 Nov 2001
  2. By SpecoSoft.com. This library allow your application direct access port input and output under all versions of Microsoft Windows. With it you can easily control any hardware from your application. For example, you can access your LPT port.
  3.  
  4. Fully functional
  5. Source: Included
  6. Download: CB4 CB5 D3 D4 D5 D6
  7. http://www.torry.net/vcl/system/portaccess/zlportio.zip


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 23 ноября 2006, 08:26
Оценка за ответ: 4

Ответ #2. Отвечает эксперт: Alexander A. Gribanov

Ну к Delphi этот вопрос прямого отношения не имеет, но всё-же. Напрямую обращаться к LPT-порту, по-хорошему, под w2k/xp из пользовательского процесса нельзя - нужно писать драйвер. Но это только по-хорошему - в реальности существуют универсальные драйверы, обеспечивающие не совсем честным путём прямой доступ к портам. К таким драйверам относятся giveio.sys или gwiopm.sys. Google по запросу "gwiopm.sys Delphi" выдаёт неплохие ссылки с самим драйвером и примерами работы.

Ответ отправил: Alexander A. Gribanov (статус: 2-ой класс)
Время отправки: 23 ноября 2006, 11:01
Оценка за ответ: 4


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:30
Выполнено за 0.03 сек.