主页
Top.Mail.Ru Yandeks.Metrika
论坛:“系统”;
当前存档: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.



Страницы: 1 整个分支

论坛:“系统”;
当前存档:2003.09.01;
下载:[xml.tar.bz2];

楼上









内存:0.57 MB
时间:0.058 c
14-1575
likeanangel
2003-08-11 17:32
2003.09.01
图元编辑器


3-1336
合勤科技
2003-08-07 15:17
2003.09.01
ADO(* .xls) - > DBF?


3-1300
GILforever
2003-08-02 02:29
2003.09.01
InterBase中的类型


3-1310
Relaxxx
2003-08-08 17:24
2003.09.01
我怎么知道BDGrid中的光标是...............


3-1296
Nikkkkk
2003-08-11 15:55
2003.09.01
??? ! TQuery组件不支持FoxPro数据库索引! ???





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский