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

Вниз

Как вызвать прерывание ?   Найти похожие ветки 

 
S.G.K.   (2003-06-16 15:08) [0]

Уважаемые мастера ! Подскажите, пожалуйста, как работать с прерываниями в Дельфи ? Существуют ли в Дельфи процедуры, подобные процедурам WinDos unit ?
Нигде не могу ничего найти по этому поводу, помогите чем можете.


 
Ihor Osov'yak ©   (2003-06-16 15:21) [1]

Тут делфи непричем. Виндовс имеет несколько иную идеологию, чем дос. Если коротко - из приложения Win32 нельзя обработать прерывания, а с программного вызова тоже ничего не выйдет хорошего.. Можно только вызвать прерывание шлюза перехода в защищенный режим, но даже это не проблема прикладной программы - это делает операционка тогда, когда считает нужным..

Сформулируйте задачу в целом, можеч что и получится посоветовать


 
Digitman ©   (2003-06-16 15:21) [2]

Зачем они тебе, "прерывания" эти, понадобились вдруг ?
Ядро Win32 работает с прерываниями самостоятельно, на наивысшем уровне привелегий и защиты, взамен этого предоставляя тебе вполне достаточный в большинстве случаев по объему и функц-ти интерфейс для реализации в твоем приложении асинхронных операций ввода/вывода.


 
Федя   (2003-06-16 15:45) [3]

Копай в сторону прерывания 31h, и функции 0300h, это функции DPMI
для программ которые находятся в защищенном режиме и которые хотят вызвать перерывание код которых работает в real-mode


 
Слесарь Матерящийся ©   (2003-06-16 16:15) [4]

Прерывание в Windows - это когда на экране возникает message box с тремя кнопками: Abort, Retry, Ignore.
Первая кнопка вызывает прерывание.


 
S.G.K.   (2003-06-17 17:04) [5]

Спасибо за ответы. Если я правильно понял, для работы с прерываниями можно использовать процедуры операционной системы, но это рискованно (во-всяком случае для меня как человека, не имеющего такого опыта ). Попробую разобраться, если будет время
- основное мое занятие - это проведение экспериментов по регистрации электрических потенциалов и токов нервных клеток - именно для этой цели и пишу программы. ( запускаемого в обработчике нажатия кнопки) Спасибо за ответы. Если я правильно понял, для работы с прерываниями можно использовать процедуры операционной системы, но это рискованно (во-всяком случае для меня как человека, не имеющего такого опыта ). Попробую разобраться, если будет время
- основное мое занятие - это проведение экспериментов по регистрации электрических потенциалов и токов нервных клеток - именно для этой цели и пишу программы.

А задача у меня следующая:
надо прекратить выполнение некого цикла (запускаемого в обработчике нажатия кнопки) через определенный временной интервал.
Пытался я использовать для этой цели таймер из меню "System"-
(меняя в обработчике таймера состояние переменной, контролирующей цикл), но ничего не получается - таймер во время выполнения цикла не cрабатывает.

Может быть существует какое - нибудь простое решение этой проблемы ?


 
VMcL ©   (2003-06-17 17:50) [6]

>S.G.K. (17.06.03 17:04)
>таймер во время выполнения цикла не cрабатывает

Application.ProcessMessages



Используй GetTickCount и/или QueryPerformanceCounter+QueryPerformanceFrequency.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1450
CrazyHackers
2003-08-18 15:00
2003.09.01
Edit - вставить текст в позицию курсора


6-1533
nester
2003-06-25 18:16
2003.09.01
как перехватить в IE 404 not found и подсунуть вместо этого свое


1-1508
r_zet557
2003-08-17 18:45
2003.09.01
библиотека для вычисление влажности по температурным значениям


14-1608
Marser
2003-08-13 00:15
2003.09.01
Именинники 13 августа


1-1366
Андрей Слюсаренко
2003-08-17 18:04
2003.09.01
Своп файл