Главная страница
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.028 c
1-1117305578
Antol
2005-05-28 22:39
2005.06.14
деление объекта


14-1117031425
Kolan
2005-05-25 18:30
2005.06.14
Книги по проектированию.


1-1117365248
Rembo
2005-05-29 15:14
2005.06.14
Печать содержимого TStringgrid


14-1116723459
Виктроя
2005-05-22 04:57
2005.06.14
Помогите глупой девушке с компанентами для Delphi 6


1-1117346805
ProGamer
2005-05-29 10:06
2005.06.14
Ламерский вопрос по fsUnderLine