Главная страница
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.018 c
14-1614
Baklan
2003-08-13 16:50
2003.09.01
Image


9-1270
BBear
2003-03-01 20:49
2003.09.01
procedure TForum.Destoy;


3-1309
malamba
2003-08-07 19:07
2003.09.01
О выборе базы


6-1545
P@SHA
2003-06-26 12:59
2003.09.01
TNmSmtp


1-1379
Lex
2003-08-16 07:22
2003.09.01
Проблемы с dll