Главная страница
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.046 c
6-1111871698
Raider
2005-03-27 00:14
2005.06.14
Описание ошибок TClientSocket&TServerSocket (ErrorCode)


3-1114185659
@k@DElpher
2005-04-22 20:00
2005.06.14
подсчёт кол-во в складской программе


3-1115659500
xroot
2005-05-09 21:25
2005.06.14
Пустые поля


1-1117344094
VasilijOrlov
2005-05-29 09:21
2005.06.14
как мне сделать, чтобы пользователь щелкнул, изменил, закрыл и вс


1-1117108498
Borik
2005-05-26 15:54
2005.06.14
Как программно скопировать из Ворд в Делфи