|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.03.2012, 20:52 | #1 |
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
asm получить код нажатой клавиши... (?)
Приятного душевного настроя вам.
Есть такой вопрос: при использовании нижеследующего кода возникает такая ошибка: Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004520f2 in module 'Project1.exe'. Read of address FFFFFFFF'. Process stoped... И подсвечивается строка int 16 {проблемная зона} В чём ошибка? Код:
|
30.03.2012, 21:14 | #2 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Работать с прерываниями MS-DOS из Delphi нужно как-то по другому. Напрямую кажется нельзя. Как говорится: "Search The Fucking Web(STFW)". Только не понимаю, зачем себе усложнять жизнь? Ведь есть же событие KeyDown, в котором переменная key хранит код нажатой клавиши.
Если помог, проси поставить минус. Будь оригинален!
|
30.03.2012, 22:25 | #3 | ||
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
Цитата:
Как я понимаю суть в том что у нас нет привилегий для использования прерываний. Цитата:
|
||
31.03.2012, 10:47 | #4 |
Форумчанин
Регистрация: 14.03.2011
Сообщений: 104
|
Турбо паскаль, и успехов во всех ваших начинаниях!
Последний раз редактировалось Silver_S; 31.03.2012 в 11:07. |
31.03.2012, 12:33 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
31.03.2012, 13:34 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
то не ДОС прерывания.
я про них говорил если что. да и практической пользы в этом по сути нет. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
31.03.2012, 13:50 | #8 |
Заблокирован
Регистрация: 21.06.2010
Сообщений: 77
|
прерывания с WinXP доступны только драйверам
|
31.03.2012, 13:53 | #9 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
А что это тогда? BlackAngel, как я понял, говорит про вызовы прерываний через Kernel. Или я чего-то недопонимаю.
Если помог, проси поставить минус. Будь оригинален!
|
31.03.2012, 14:01 | #10 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
только вот в защищенном режиме процессора(Win32, Win64) у них совсем другой смысл. в ДОС, прерывания были как АПИ грубо говоря. в Win там свое АПИ, и в прерываниях нет смысла. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
код нажатой клавиши Delphi | all_is_fear | Помощь студентам | 1 | 02.12.2011 10:35 |
Скан-код нажатой клавиши в dec(десятичной системе) | Alex1991 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 11.11.2010 16:33 |
Как получить код клавиши клавиатуры. | prw07 | Общие вопросы Delphi | 2 | 17.09.2010 11:04 |
код нажатой клавиши | galaid | Общие вопросы Delphi | 4 | 24.05.2009 20:03 |
вывести код нажатой клавиши | fclmhooligan | JavaScript, Ajax | 0 | 22.10.2008 09:32 |