Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];




Вниз

Как вызвать прерывание ? 


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.




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.76 MB
Время: 0.035 c
7-1681            Kikimora              2003-06-18 00:45  2003.09.01  
настройка мыши и клавы


14-1618           Calm                  2003-08-13 09:01  2003.09.01  
Атака на форум - террор в инете. Предлагаю способ защиты.


4-1710            andre                 2003-06-21 02:24  2003.09.01  
таймер


7-1700            AJ_UA                 2003-06-13 15:50  2003.09.01  
Как узнать какие библиотеки DLL сейчас запущены в оперативке?


14-1640           Best Guns             2003-08-12 20:06  2003.09.01  
Сайт delphimaster не отвечал