C++层每隔500ms通过回调函数传输到C#层的数据,然后在C#层再用线程开启一个模态框时,c++层的回调函数就不会再被触发时什么原因?

问题描述

1.前提条件:C++层每隔500ms通过回调函数传输到C#层的数据,同时我再回调函数体内调用invoke来刷新指定控件;2.此时我在c#中再另起一个线程,此线程的作用是打开一个模态窗体;3.把这个模态窗体打开之后,在c#层注册的回调函数就再也不会触发了,一直要等到我把模态窗体关闭之后才能重新触发。请教各位大神,这个到底是什么原因导致的?如果各位大神用过同花顺或者快期的话,就可以看到,不管在同花顺还是快期中,即使打开一个模态窗体,主窗体还是可以接受实时数据的,我现在想实现这个功能,但是就出现了上诉的原因?这个我截的并行堆栈的图:1.这个是没有开启模态窗体的图:我就纳闷了,为什么这个线程没有连接箭头线!!!!2.这个是开启之后的图

解决方案

解决方案二:
自己先顶一个
解决方案三:
你的第二个图已经告诉你了,你的代码都在“1线程”执行,根本不在子线程执行。你的if判断完全是多余的。不用c++,而用你的c#程序来写所有方法,你就知道怎么才能在子线程中回调了。
解决方案四:
引用2楼sp1234的回复:

你的第二个图已经告诉你了,你的代码都在“1线程”执行,根本不在子线程执行。你的if判断完全是多余的。不用c++,而用你的c#程序来写所有方法,你就知道怎么才能在子线程中回调了。

可是现在的话,所有数据都是从c++层传输过来的,有什么办法可以使获取数据另起线程吗?
解决方案五:
引用2楼sp1234的回复:

你的第二个图已经告诉你了,你的代码都在“1线程”执行,根本不在子线程执行。你的if判断完全是多余的。不用c++,而用你的c#程序来写所有方法,你就知道怎么才能在子线程中回调了。

还有就是我想知道为什么c++层的回调函数会和模态窗体由同一个线程运行呀?模态窗体我是重新开启了一个线程,回调函数的执行也是在主窗体中进行的,再怎么搞也不能和模态窗体处于同一个线程呀?

时间: 2024-11-02 22:11:33

C++层每隔500ms通过回调函数传输到C#层的数据,然后在C#层再用线程开启一个模态框时,c++层的回调函数就不会再被触发时什么原因?的相关文章

java中panel实现线程接口以后,要调用repaint函数时,不进run函数

问题描述 java中panel实现线程接口以后,要调用repaint函数时,不进run函数 具体情况是 mypanel类实现了线程接口,在run函数中定义了sleep(100)后调用repaint函数,做一个小坦克游戏,在repaint之前要判断是否击中坦克,击中后要显示三张图片来体现爆炸效果,可是经过调试发现,每次第一次击中的时候,都是直接好多次repaint,没有休眠,后来发现根本就没有进mypanel的run()方法,好像有另一个其他线程再调用paint.这是怎么回事?感谢大家了 pack

完美解决在ModalPopupExtender中使用CalendarExtender时被层遮挡的问题

ASP.NET AJAX Control Toolkit是一组非常不错的基于asp.net的ajax控件,它建立在asp.net 3.0的ScriptManager组件之上,提供了很多非常实用的效果和功能.大家可以去官方网站查看demo,ModalPopupExtender控件用来在网页中实现类似于模式对话框的效果,而CalendarExterder控件提供日期输入,它有几个很重要的属性: TargetControlID:日期输入的目标控件ID,一般来说都都是一个文本框.Format:日期格式,

完美解决在ModalPopupExtender中使用CalendarExtender时被层遮挡的问题_实用技巧

大家可以去官方网站查看demo,ModalPopupExtender控件用来在网页中实现类似于模式对话框的效果,而CalendarExterder控件提供日期输入,它有几个很重要的属性: TargetControlID:日期输入的目标控件ID,一般来说都都是一个文本框. Format:日期格式,如yyyy-MM-dd. PopupButtonID:用户打开日期选择面板的控件ID,如按钮,图片等. PopupPosition:设置日期选择面板打开的位置,这个是相对于TargetControlID所

艾伟_转载:完美解决在ModalPopupExtender中使用CalendarExtender时被层遮挡的问题

ASP.NET AJAX Control Toolkit是一组非常不错的基于asp.net的ajax控件,它建立在asp.net 3.0的ScriptManager组件之上,提供了很多非常实用的效果和功能.大家可以去官方网站查看demo,ModalPopupExtender控件用来在网页中实现类似于模式对话框的效果,而CalendarExterder控件提供日期输入,它有几个很重要的属性: TargetControlID:日期输入的目标控件ID,一般来说都都是一个文本框. Format:日期格式

我写ASP时常用到的一些函数

函数 对于ASP语言来说,把某一功能模块写成类,那对于效率来讲,未必是件很提倡的事,但是把这种模块化向小了去说,把一些功能写成函数,那就对于在ASP开发的时候,省不少事了,以下是一些我经常用到的函数,有一些是我写的,有的是从网上找的,比如说CFS编码的:网上的CFS编码的函数里面的变量都没声明,所以在我的页面声明了option explicit后就不能正常使用了,很简单,我在FUNCTION里把变量声明了就可以了. 这儿只是一部分,因为我现在在公司,而我的大部分资料都在家里电脑上,以后再补充了-

html5-jq中的click事件无法触发是什么原因?

问题描述 jq中的click事件无法触发是什么原因? 写成 $("#btn1").click(function(){ ............... }); 无法触发,提示里也没有click 而在button中添加onclick="btn()",jq中写成 function btn(){ ............... } 就能触发 求大神帮忙看看是什么原因,谢谢了 解决方案 你点击选定的标签是ajax添加的吧,如果是,就不能用: $("#btn1&quo

以前编写JSP网站时写的一些工具函数

js|函数 初学JSP时,写了一些工具函数因为不太会用JAVA下的正则表达式也只能这么写啦!发出来让大家批评批评提点意见!有几个函数不算是自己写的希望爱挑剌的朋友嘴下留情!我是新手我怕谁,脸皮不行的人水平也上不去呀.嘻嘻.. package mxzc.web.strctrl;public class StringCtrl{/********************************************public synchronized String HTMLcode(String

滚动弹出层的滚动条时背景层不滚动

问题描述 滚动弹出层的滚动条时背景层不滚动 在做弹出层时,因内容太多,需要加滚动条,当滚动弹出层的滚动条时下面的背景层的滚动条也会滚动,现在想让背景层不滚动,怎么解决? 解决方案 做两层,上面一层透明,有滚动条,下面一层仅显示一个背景

真机调试程序直接退出-Xcode真机调试时程序直接退出,显示运行错误,没有崩溃点。是什么原因?求大神指教???

问题描述 Xcode真机调试时程序直接退出,显示运行错误,没有崩溃点.是什么原因?求大神指教??? 解决方案 http://blog.csdn.net/smking/article/details/42879649 解决方案二: 你看看appdelate启动时候加一些断点等 还有最好clean build run来启动模拟器试试