Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: CL | DM;

Вниз

Проблема   Найти похожие ветки 

 
sofs ©   (2005-05-28 09:56) [0]

Тут начал работать с портами.ВВожу вот такой код:(Д7)
function InPort(PortAddr:word): byte;
{$IFDEF WIN32}
assembler; stdcall;
asm
 mov dx,PortAddr
 in al,dx
end;
{$ELSE}
begin
 Result := Port[PortAddr];
end;
{$ENDIF}

При исполнении ошибка "privileget instruction" возникает в строке in al,dx.Можно ли это обойти?
если есть какие-то другие способы работы с портами-подскажите плиз где можно найти инфу о сабже.
p.s.Этот код был рекомендован для работы с портами вводы\вывода для режима win32,но на моём компе с WinXp выдаётся вышеуказанная ошибка.
p.p.s.В той же статье сказано:В Delphi 1 записывать и считывать из портов можно через глобальный массив "ports". Однако данная возможность отсутствует в "32-битном" Delphi.Если как-то можно работать с массивом ports в D7,то как или опять-же где можно найти инфу по этому вопросу.


 
isasa ©   (2005-05-28 10:24) [1]

В OS NT4 и выше "простым" программам работа с железом напрямую запрещена.
Попробуй прорваться через API функцию

cHandle := CreateFile(PortName,
              GENERIC_READ+GENERIC_WRITE,
              FILE_SHARE_READ+FILE_SHARE_WRITE,
              nil,
              OPEN_EXISTING,
              FILE_ATTRIBUTE_NORMAL+FILE_FLAG_OVERLAPPED,
              0);

где, PortName:="COM1"; //"COM2"...

В делф. есть хелп на нее.



Страницы: 1 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.096 c
14-1116698692
mySh
2005-05-21 22:04
2005.06.14
Не грузятся картинки в PHP


1-1117139484
Дронище
2005-05-27 00:31
2005.06.14
Эмуляция нажати клавиши


1-1116993255
kilop
2005-05-25 07:54
2005.06.14
Клавишалов


3-1115280907
juice
2005-05-05 12:15
2005.06.14
Declared cursor already exists


1-1117200144
ctranik
2005-05-27 17:22
2005.06.14
Как просканировать весь реестр