sigh
没人理???!!
我顶!!!
没人理???!!
我顶!!!
解决方案 »
- 比较难的问题:多文档窗体中子窗体切换时如何消除闪烁现象?
- 如何用delphi制作抽屉程序
- delphi有什么函数可以获得本机上的数据库服务器信息
- 控件actionlist的用法
- PrintDBGridEH怎样控制打印方向,横向打印或纵向打印?
- 有一个现成的chm格式的帮助文件,我想修改其中的某些内容,该如何做? 谢谢!!
- 如何把焦点所在FORM的焦点组件的文字全部复制到自己指定的地方
- 怎样用Delphi做串口通讯程序。请给指条路啊!急!v
- *.pdg的文件用什么软件看呀?
- 两个数据库表的问题
- 我在winxp home edit中安装不了delphi6 或delphi 5,为什么?
- Windows在打开文件夹的时候 难道不调用FindFirstFile或者FindFirstFileEx之类的api吗?
极度同情你~~~为什么跟我一样,发的贴从就没人理?!!!!!!!!!!kao`~~
设备在等这个函数返回
如果在这里面发布停止工作的命令
当时设备是能停
在主程序会因此而无法正常关闭设备而导致死机
设备在等这个函数返回
如果在这里面发布停止工作的命令
当时设备是能停
在主程序会因此而无法正常关闭设备而导致死机
用来初始化和得到数据
而我所要做的就是在这个函数中把数据指针传给设备
没用回调处也不能使用GOTO语句
但要在CALLBACK外(比如说主程序)关闭设备
所以不由CALLBACK直接调用关闭设备的函数
我试过发送消息但好象一点用也没有
消息没有发到消息队列中
无论是send还是post
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用PROCESSMESSAGE我的确早就试了没用
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用PROCESSMESSAGE我的确早就试了没用
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用PROCESSMESSAGE我的确早就试了没用
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用
PROCESSMESSAGE我的确早就试了没用
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用
PROCESSMESSAGE我的确早就试了没用
这个设备回调函数不是一个线程
他经常调用执行的非常快(实时性)
CPU占用近于100%
无法控制优先级
我曾经设置过一个进程
优先级设为最高
但在这个回调函数面前
也没有用
得不到机会执行
到于主线程拆分的问题
我想程序的主FORM是不能放在线程里的
它必须是一个进程
所以也没用
PROCESSMESSAGE我的确早就试了没用
你肯定有地方弄歪了
你那个设备是啥类型的东西啊?
应该这样说:只要你想,就可以100%抢占并卡死系统!
所以你要避免的话,也许就在那个回调里面,你要做
些自动降低权限的动作,类似里面加一点delay,这样
它歇了以后,系统自会把消息打到泵里去,你就可以关了阿
(一般,写驱动的家伙都会悄悄加一些睡觉的代码)
你在WIN2000下试试,
在WIN2000下,CPU能占用99的并不多,
这个算法是设备自己想的
我没法改 :P
标志位我想过
但是因为它本身运行快
标志位外界没法读
timer我没有试过下次试试看吧
也许能行希望挺大
sendmessage试过没用
互什么体我也试过
因为这个不是线程也没用
一般写驱动的伙计都会悄悄加些睡觉的代码,
你那个设备也许做的形式就有问题,
确实是有100%霸占系统无法响应的情况
你也许要根据情况设个标志位,让callbak在某种情况下睡一会儿
这样系统可以取回控制
谢谢你的提示
抛出异常我也没有试过
但是在CALLBACK里抛异常我觉得有危险
我怕这样它不再继续运行(继续调用CALLBACK取数据)
不过现在能试一下
一个是TIMER 一个是RAISE
to : mashimaro3600(爱吃白菜)
标志位我设过
但没用让他睡是睡不了
但停掉或暂停可以(必须从外面发命令)
那个callback咋睡不了呢,是不是代码在XXms的时间里执行不完,设备就要崩掉吗
我的意思是 ,如果他没这样的毛病
void callback_func1()
{
static i = 0;
。。
。。
i++;
if (i>1000)
{
i =0;
want_to_sleep(20); //20ms
}
}
-----------------------
我见过那些老牛总是有意无意加类似的东西
-----------------------