错误提示:Error: Cannot create children for a parent that is in a different thread. 错误案例分析 新建SerialLink子线程,继承QThread,并重写它的run(),调用 start()函数时自动调用重载的run()函数.在主线程中创建SerialLink类的对象. 串口_port在SerialLink的头文件中定义,在_hardwareConnect()函数中初始化.在_connect()函数中调用start()函…
一.疑问 突然想到,类似于QTcpsocket和QSerialport这类对象,如果是在A线程中new的,那就不能在其他线程中访问.我一般是这样做的: 封装一个QObject子类,放这些对象进去,然后通过信号与槽发送和接收数据. 但是如果是一个其他类型,比如一个Qlist或者链表,加上锁之后就可以不同线程访问 二.原因 QIODevice不能跨线程调用,这是官方说的[没找到,但是网上都这样说],上述QTcpsocket和QSerialport都是继承于QIODevice,所以不能跨线程…
MFC.Qt.C#都是面向对象的编程库 1.MFC不允许跨线程调用对象,即线程只能调用它本身分配了空间的对象 In a multi-threaded application written using MFC, you should not pass MFC objects across thread boundaries. As a general rule, a thread should access only those MFC objects that it creates. Fail…
javascript ajax 脚本跨域调用全解析 今天终于有点时间研究了一下javsscript ajax 脚本跨域调用的问题,先在网上随便搜了一下找到一些解决的办法,但是都比较复杂.由是转到jquery.chm用户手册当中找到一些代码片段关于ajax跨域调用的问题.代码片段如下: crossDomain                                                                            mapV1.5 默认: 同域请求为fal…
在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应.  同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线程间操作无效 第一种办法:禁止编译器对跨线程访问做检查 第二种办法: 使用delegate和invoke来从其他线程中调用控件 第三种办法: 使用delegate和BeginInvoke来从其他线程中控制控件 第四种办法: 使用BackgroundWorker组件 源代码下载 线程间操作无效 界面上有一个button和一个la…
纠结了好久,终于知道了winform和WPF的UI的跨线程调用的解决方法: winform下如果为了省事,可以直接禁用跨线程检查: Control.CheckForIllegalCrossThreadCalls = false; winform和WPF都可以使用代理的方式解决,只是代码有些不大相同. winform的一个demo: Thread t = new Thread(delegate() { label1.Invoke(new MethodInvoker(delegate() { lab…
c#中如何跨线程调用windows窗体控件?   我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread th…
我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread thread = new Thread(ThreadF…
通过一个子线程来操作主线程中的控件,但是,这样作会出现一个问题(如图1所示),就是TextBox控件是在主线程中创建的,在子线程中并没有对其进行创建,也就是从不是创建控件的线程访问它.那么,如何解决跨线程调用Windows窗体控件呢?可以用线程委托实现跨线程调用Windows窗体控件.下面将上一个例子进行一下改动.代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using Sys…
背景 当前串口通讯项目,多个线程需要同时利用richTextBoxMsg控件打印信息,直接调用会造成线程不安全,严重的时候会直接导致UI线程挂掉,因此本篇就跨线程调用UI控件做个记录. 正文 定义控件的委托类型 // 提示界面控件的委托类型 delegate void ShowInfoCallback(string text, bool handle); 定义操作该控件的函数 //该函数会在非创建UI控件的线程调用下,进行委托,由UI线程进行操作UI控件: //若该函数由创建该UI控件的线程调用…
转自:http://www.cnblogs.com/TankXiao/p/3348292.html 感谢原作者,转载以备后用 在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应.  同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线程间操作无效 第一种办法:禁止编译器对跨线程访问做检查 第二种办法: 使用delegate和invoke来从其他线程中调用控件 第三种办法: 使用delegate和BeginInvoke来从其他线程中控…
原文:C# 跨线程调用控件 在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应.  同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线程间操作无效 第一种办法:禁止编译器对跨线程访问做检查 第二种办法: 使用delegate和invoke来从其他线程中调用控件 第三种办法: 使用delegate和BeginInvoke来从其他线程中控制控件 第四种办法: 使用BackgroundWorker组件 源代码下载 线程间操作无效 界面上…
跨线程调用form控件技巧 private delegate void MethodSocket(object obj);//使用托管 ss = "OK"; this.BeginInvoke(new MethodSocket(InvokerReadMsg), ss);//this指向本窗口,回调函数InvokerReadMsg, private void InvokerReadMsg(object obj)//在这个函数里面能够直接訪问Form控件<span style=&quo…
c++调用动态库失败解决办法 之前写好的程序今天早上过来发现在服务器上出错了,于是就各种查问题,整整一个早上外加下午两个小时都在查这个问题,最终被我找到了问题: 在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个动态库,导致程序在加载过程中出现了错误,现在才回想起来,之前因为新需求,在原有的动态库上添加新功能,从而调…
发布mvc遇到的HTTP错误 403.14-Forbidden解决办法   <system.webServer>   <validationvalidateIntegratedModeConfiguration="false"/>   <modules runAllManagedModulesForAllRequests="true" /> </system.webServer> 在web.config增加<mo…
Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附加数据库文件时弹出错误信息:如下图: ,一时无解,遂求助于百度谷歌,经过各种试验,特将解决办法整理于此,希望能帮到大家,同时如果有好的意见大家多多交流啊! 方案一:切换登录方式 出现这种情况是由于用"混合验证方式"(SQL Server身份验证)登录数据库造成的,只要将登录方式改为&quo…
SQLServer2005+ 附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 我们在用Sql SQLServer2005+附加数据库文件时弹出错误信息如下图的处理办法: 方案一:切换登录方式 出现这种情况是由于用“混合验证方式”(SQL Server身份验证)登录数据库造成的,只要将登录方式改为“windows身份验证方式”登录即可解决该问题,附加成功后再换用“混合验证模式”登陆就没问题了. 方案二:修改服务 选择 所有程序-SQL Server 2005+-配置工具-选择…
"SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法 1.检查登录密码 如果密码错误,修改数据库密码,用windows身份验证登录进去, (1)安全--登录名--sa,右键属性,弹出窗体上有密码与确认密码栏,修改新的密码,点击确认即可 (2)在查询框执行,EXEC sp_password NULL, 'NewPassword', 'Sa',NULL表示旧密码,如果知道可以写完整的旧密码('oldpassword'),如果忘记直接写NULL即可 2.数据库中有个…
运行js提示库没有注册错误8002801d的解决办法这个错误主要是因为服务器上的windows scripts版本较低,请按下面的链接下载较高版本windows scripts 5.6并在服务器上进行安装,重启后即可正常.在微软官网搜索windows scripts,选择scr56chs.exe下载后安装.http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=376d98b6-67cf-4473-9b7d-f635292a2…
sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附加数据库文件时弹出错误信息:如下图: ,一时无解,遂求助于百度谷歌,经过各种试验,特将解决办法整理于此,希望能帮到大家,同时如果有好的意见大家多多交流啊! 方案一:切换登录方式 出现这种情况是由于用“混合验证方式”(SQL Server身份验证)登录数据库造成的,只要将登录方式改为“windows身…
android studio 错误汇总以及解决办法  参考 https://www.jianshu.com/p/7c7de6562231 问题1. Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for a…
原文:http://www.cnblogs.com/cm8448940/archive/2008/07/10/1240045.html 使用到两个控件,一个按钮button1,一个标签label1. private void button1_Click(object sender, EventArgs e) { // 创建一个新线程. Thread thread = new Thread(new ThreadStart(myname)); thread.IsBackground = true;…
<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>.<a href="http://edu.csdn.net"target="blank">.Net培训</a>.期待与您交流 我的博客园网址:http://www.cnblogs.com/lingzeng/MyPosts.html 有编程基础的…
在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可. 在WPF中要麻烦一下,同样的不允许跨线程访问,因为没有权限,访问了会抛异常: 没有CheckForIllegalCrossThreadCalls 属性,怎么办? 在WPF中的窗口控件都有一个Dispatcher属性,允许访问控件的线程:既然不允许直接访问,就告诉控件我们要干什么就好了. 方法如下: private delegate void outp…
出现错误: Xcode not set up properly. You may need to confirm the license agreement by running / 解决办法如下: Xcode 8版本以上的 1: vi打开文件 Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf (具体的地址需要根据自己的安装路径找) 2: 找到下列内容 isEmpty($$list($$system("/usr…
如何:对 Windows 窗体控件进行线程安全调用 访问 Windows 窗体控件本质上不是线程安全的. 如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态. 还可能会出现其他与线程相关的 Bug,例如争用情况和死锁. 确保以线程安全方式访问控件非常重要. 在未使用 Invoke 方法的情况下,从不是创建某个控件的线程的其他线程调用该控件是不安全的. 以下非线程安全的调用的示例. // This event handler creates a thread that…
1.     本人是在linux/ubutun中使用QT creator,一次编译程序的时候出现了“no executable specified”的错误而无法运行程序.解决办法: 在用QT creator打开project之前,删除CMakeLists.txt.user文件重新编译,然后运行程序,可以成功. 在此记录,希望再出现这样的问题可以不用再浪费时间. 2.datavisualization/customitems demo复制到其他文件夹下运行出现了“no executable spe…
环境: TSMserver:TSM 6.2.3 for Windows Server 2008 R2 TSMclient: TSM 5.5.0 for CentOS 遇到的故障: ANS1125E Unmatched Quotes: '' 这个问题在IBM的知识库里面查到的解决办法是 Correct the pattern using matching quotes in the syntax. 按照上面的描述我自己又进行了一下Windows 服务端的调度配置的重新设置,听师傅说:“TSM的Wi…
今天在客服那里发现一个比较奇怪的错误,在客服机子上安装.NET Framework4.0时,出现如下错误:HRESULT 0xc8000222 百度了下原因,原来是win7自动更新造成的.原文网址:http://www.2cto.com/os/201206/135172.html 尚未安装 .NET Framework 4 Client Profile,原因是:HRESULT 0xc8000222 原来跟windows update有关 真心蛋疼啊!!! 解决办法: 1.在win7的C:\Win…
一.在证书存储区中找不到清单签名证书. 解决方法:右击项目属性—>签名—>为ClickOnce清单签名,将勾掉的选项去掉. 参考:http://www.cnblogs.com/190196539/archive/2011/12/03/2272861.html 二.使用wcf中遇到的问题 错误消息: 错误 1 Reference.svcmap: 未能为服务引用“SMSService”生成代码.  无法导入 wsdl:portType  详细信息: 在运行 WSDL 导入扩展时引发异常: Syst…