WPF Socket编程,无法访问已释放的对象错误,求帮忙 [问题点数:100分,结帖人rsd102]

Bbs1
本版专家分:14
结帖率 96%
Bbs8
本版专家分:33622
Blank
黄花 2017年8月 .NET技术大版内专家分月排行榜第二
Bbs1
本版专家分:14
Bbs8
本版专家分:33622
Blank
黄花 2017年8月 .NET技术大版内专家分月排行榜第二
Bbs8
本版专家分:41658
Blank
黄花 2015年4月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2015年3月 .NET技术大版内专家分月排行榜第三
2015年2月 .NET技术大版内专家分月排行榜第三
Bbs1
本版专家分:14
Bbs1
本版专家分:14
Bbs8
本版专家分:41658
Blank
黄花 2015年4月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2015年3月 .NET技术大版内专家分月排行榜第三
2015年2月 .NET技术大版内专家分月排行榜第三
Bbs1
本版专家分:14
无法访问释放对象
[code=vb]Imports System.Windows.FormsrnPublic Class Form1rn Dim sform As New Form2rn Dim ssform As New Form3rnrn Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelectrn If TreeView1.SelectedNode.Text = "1" Thenrn sform.MdiParent = Mern sform.LayoutMdi(MdiLayout.Cascade)rn sform.Show()rn ElseIf TreeView1.SelectedNode.Text = "2" Thenrn ssform.MdiParent = Mern ssform.LayoutMdi(MdiLayout.Cascade)rn ssform.Show()rnrn Else : MsgBox("as")rnrn End Ifrn End Sub[/code]rn点击子窗体的关闭窗口键后再次点击节点 提示<em>错误</em>:<em>无法访问</em><em>释放</em>的<em>对象</em>! 求解啊
WPF异常:调用线程无法访问对象,因为另一个线程拥有该对象
WPF项目中,在viewmodel类中(非ui类),新建了一个异步调用,代码如下:rn(new Action(delegatern{rntryrn{rnMakeSunLine();rn}rncatch (Exception ex)rn{rnex.ToString();rnif (!MRedis.redisConnect(cache))rn{rnwhileBol = false;rn}rn}rn})
login_test错误
<em>错误</em>,求<em>帮忙</em>调试~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
WPF调用线程 解决“调用线程无法访问对象,因为另一个线程拥有该对象“问题
在winform或者<em>wpf</em>,后台线程是<em>无法访问</em>和修改UI层的。rnrn在Winform中,我们需要调用控件的 Invoke/BeginInvoke 方法来将代码扔回至UI线程执行。rn而WPF是需要调用UI线程的 Dispatcher.Invoke/BeginInvoke 来做。rnthis.Dispatcher.Invoke(new Action(()=>{rn                 
WPF 调用线程无法访问对象,因为另一个线程拥有该对象
为了实现数据能够在文本框中逐条输出,需要用到了线程。
System.ObjectDisposedException: 无法访问释放对象
我用C#仿照别人的写一个控件,其中用到了WebBrowser, 编译后放到HTML中,结果确出现以下<em>错误</em>rn有关调用实时(JIT)调试而不是此对话框的详细信息,rn请参见此消息的结尾。rnrn************** 异常文本 **************rnSystem.ObjectDisposedException: <em>无法访问</em>已<em>释放</em>的<em>对象</em>。rn<em>对象</em>名:“WebBrowser”。rn 在 System.Windows.Forms.WebBrowser.get_AxIWebBrowser2()rn 在 System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)rn 在 System.Windows.Forms.WebBrowser.PerformNavigateHelper(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)rn 在 System.Windows.Forms.WebBrowser.Navigate(String urlString)rn 在 CSharpActiveX.Hello.btnGo_Click(Object sender, EventArgs e) 位置 D:\VC++\CSharpActiveX\CSharpActiveX\Hello.cs:行号 110rn 在 System.Windows.Forms.Control.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)rn 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)rn 在 System.Windows.Forms.Control.WndProc(Message& m)rn 在 System.Windows.Forms.ButtonBase.WndProc(Message& m)rn 在 System.Windows.Forms.Button.WndProc(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)rn 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)rnrnrnrn************** JIT 调试 **************rn要启用实时(JIT)调试,rn该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置rnjitDebugging 值。rn编译应用程序时还必须启用rn调试。rnrn例如: rnrnrn rnrnrn启用 JIT 调试后,任何无法处理的异常rn都将被发送到在此计算机上注册的 JIT 调试器,rn而不是由此对话框处理。rnrnHTML文件代码是rnrnrn rn ActiveX测试rnrnrnrnrnrnrnrnC#的原代码:rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Drawing;rnusing System.Data;rnusing System.Text;rnusing System.Windows.Forms;rnusing System.Runtime.CompilerServices;rnusing System.Runtime.InteropServices;rnusing System.Security; rnrnnamespace CSharpActiveXrnrn [Guid("4A44CF4E-F859-4328-AA22-3E9D7AFFF1AB")]rn public partial class Hello : UserControl, IObjectSafetyrn rn public Hello()rn rn InitializeComponent();rn rnrn #region IObjectSafety 成员rn private const string _IID_IDispatch = "00020400-0000-0000-C000-000000000046";rn private const string _IID_IDispatchEx = "a6ef9860-c720-11d0-9337-00a0c90dcaa9";rn private const string _IID_IPersistStorage = "0000010A-0000-0000-C000-000000000046";rn private const string _IID_IPersistStream = "00000109-0000-0000-C000-000000000046";rn private const string _IID_IPersistPropertyBag = "37D84F60-42CB-11CE-8135-00AA004BB851";rn private const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001;rn private const int INTERFACESAFE_FOR_UNTRUSTED_DATA = 0x00000002;rn private const int S_OK = 0;rn private const int E_FAIL = unchecked((int)0x80004005);rn private const int E_NOINTERFACE = unchecked((int)0x80004002);rn private bool _fSafeForScripting = true;rn private bool _fSafeForInitializing = true;rn public int GetInterfaceSafetyOptions(ref Guid riid, ref int pdwSupportedOptions, ref int pdwEnabledOptions)rn rn int Rslt = E_FAIL;rn string strGUID = riid.ToString("B");rn pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA;rn switch (strGUID)rn rn case _IID_IDispatch:rn case _IID_IDispatchEx:rn Rslt = S_OK;rn pdwEnabledOptions = 0;rn if (_fSafeForScripting == true)rn pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER;rn break;rn case _IID_IPersistStorage:rn case _IID_IPersistStream:rn case _IID_IPersistPropertyBag:rn Rslt = S_OK;rn pdwEnabledOptions = 0;rn if (_fSafeForInitializing == true)rn pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;rn break;rn default:rn Rslt = E_NOINTERFACE;rn break;rn rn return Rslt;rn rn public int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionSetMask, int dwEnabledOptions)rn rn int Rslt = E_FAIL;rn string strGUID = riid.ToString("B");rn switch (strGUID)rn rn case _IID_IDispatch:rn case _IID_IDispatchEx:rn if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAFE_FOR_UNTRUSTED_CALLER) && (_fSafeForScripting == true))rn Rslt = S_OK;rn break;rn case _IID_IPersistStorage:rn case _IID_IPersistStream:rn case _IID_IPersistPropertyBag:rn if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAFE_FOR_UNTRUSTED_DATA) && (_fSafeForInitializing == true))rn Rslt = S_OK;rn break;rn default:rn Rslt = E_NOINTERFACE;rn break;rn rn return Rslt;rn rn #endregionrnrn private void button1_Click(object sender, EventArgs e)rn rn SetTime(DateTime.Now.ToLongTimeString());rn rnrn public void SetTime(string timeStr)rn rn this.label2.Text = timeStr;rn rnrn public void SayHello()rn rn SetTime("出错了");rn rnrn private void button2_Click(object sender, EventArgs e)rn rn this.label2.BackColor = Color.Red;rn rnrn private void btnGo_Click(object sender, EventArgs e)rn rn this.Browser.Navigate(txtAddr.Text);rn rnrn private void btnPreview_Click(object sender, EventArgs e)rn rn IOleCommandTarget pCmdTarg = Browser.ActiveXInstance as IOleCommandTarget;rn Guid CGID_MSHTML = GlobalConst.CGID_MSHTML;rnrn string vTemplatePath = txtTemplateAddr.Text;rn Object[] o = new object[1] vTemplatePath ;rnrn pCmdTarg.Exec(ref CGID_MSHTML,rn GlobalConst.IDM_PRINTPREVIEW,rn (uint)OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,rn o,rn null);rn rnrn private void btnPrint_Click(object sender, EventArgs e)rn rn IOleCommandTarget pCmdTarg = Browser.ActiveXInstance as IOleCommandTarget;rn Guid CGID_MSHTML = GlobalConst.CGID_MSHTML;rnrn string vTemplatePath = txtTemplateAddr.Text;rn Object[] o = new object[1] vTemplatePath ;rnrn pCmdTarg.Exec(ref CGID_MSHTML,rn GlobalConst.IDM_PRINT,rn (uint)OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,rn o,rn null); rn rn rnrnrn接口IObjectSafety.cs:rnusing System;rnusing System.Collections.Generic;rnusing System.Text;rnusing System.Runtime.InteropServices; rnrnnamespace CSharpActiveXrnrn [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]rn [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] rn public interface IObjectSafetyrn rn [PreserveSig]rn int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions); rn [PreserveSig()] rn int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions); rn rnrnrn接口IOleCommandTarget.cs:rnusing System;rnusing System.Collections.Generic;rnusing System.Text;rnusing System.Runtime.InteropServices;rnusing System.Runtime.InteropServices.ComTypes;rnrnnamespace CSharpActiveXrnrn [ComImport(), Guid("B722BCCB-4E68-101B-A2BC-00AA00404770"),rn InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]rnrn public interface IOleCommandTargetrn rn [PreserveSig()]rn int QueryStatus([In, MarshalAs(UnmanagedType.Struct)] ref Guidrn pguidCmdGroup, [MarshalAs(UnmanagedType.U4)] int cCmds,rn [In, Out] IntPtr prgCmds, [In, Out] IntPtr pCmdText);rn [PreserveSig()]rn int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdExecOpt,rn [In, MarshalAs(UnmanagedType.LPArray)] object[] pvaIn,rn [In, Out, MarshalAs(UnmanagedType.LPArray)] object[] pvaOut);rnrn rnrn public enum OLECMDEXECOPTrn rn OLECMDEXECOPT_DODEFAULT,rn OLECMDEXECOPT_PROMPTUSER,rn OLECMDEXECOPT_DONTPROMPTUSER,rn OLECMDEXECOPT_SHOWHELPrn rn public static class GlobalConstrn rn public const int MSOCMDEXECOPT_DONTPROMPTUSER = 2;rn public const int IDM_PRINT = 0x1b;rn public const int IDM_PRINTPREVIEW = 0x7d3;rn public static readonly Guid CGID_MSHTML = new Guid("DE4BA900-59CA-11CF-9592-444553540000");rn public static readonly Guid IID_OleCommandTarget = new Guid("B722BCCB-4E68-101B-A2BC-00AA00404770");rn rnrnrnrn生成后rn再部署安装Setup后rnrn打开HTML页,click me和button2均无问题,rn在Document address中输入:http://www.sohu.com 然后点击Go就出现上面的<em>错误</em>.rn也就是说程序在rn private void btnGo_Click(object sender, EventArgs e)rn rn this.Browser.Navigate(txtAddr.Text);rn rn出错,不知怎样解决.rnrn
关于 无法访问释放对象
一个FORM,FORM中一个按钮,一个TEXTBOX:rnbutton 事件rnrn Private Sub btnOutput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rnrnbtnLogin.Clickrn Dim myThreadStart As Threading.ThreadStart = New Threading.ThreadStart(AddressOf _OutPutMessage)rn Dim myThread As Threading.Thread = New Threading.Thread(myThreadStart)rn myThread.Start()rnrn End Subrnrn执行后:rnrn不断向Textbox输出信息。rnrn执行过程中,强行关闭form,会出现以上的<em>错误</em>,有什么办法能避免吗?rnrn目前我只能用Try 。。 Catch 。。end try 时间来处理rnrn[code=C#]rnSystem.ObjectDisposedException: <em>无法访问</em>已<em>释放</em>的<em>对象</em>。rn<em>对象</em>名:“TextBox”。rn 在 System.Windows.Forms.Control.CreateHandle()rn 在 System.Windows.Forms.TextBoxBase.CreateHandle()rn 在 System.Windows.Forms.TextBoxBase.SetSelectedTextInternal(String text, Boolean clearUndo)rn 在 System.Windows.Forms.TextBoxBase.set_SelectedText(String value)rn 在 System.Windows.Forms.TextBoxBase.AppendText(String text)rn 在 HtmlAnalysis.MainForm.OutPutMessage(String _x, String _y, String _qty, String _soldier) 位置 D:\程rnrn序代码\HtmlAnalysis\HtmlAnalysis\MainForm.vb:行号 115rn 在 HtmlAnalysis.MainForm.OutPutMessage() 位置 D:\程序代码\HtmlAnalysis\HtmlAnalysis\MainForm.vb:行号 rnrn149rn[/code]rnrnrn
C#socket通讯两个最经典错误解决方案
经典<em>错误</em>1 <em>无法访问</em>已<em>释放</em>的<em>对象</em>。 <em>对象</em>名:“System.Net.Sockets.Socket”;解决方案 经典<em>错误</em>2 "远程主机强迫关闭了一个现有的连接。"解决方案
C#成魔之路 网络编程技术(2 )System.Net.Sockets命名空间
System.Net.Sockets命名空间主要是提供制作Sockets网络应用程序的相关类,其中Socket类,TcpClient类、TcpListener类、UdpClient类较为常用,下面对其进行介绍1、Socket类 nSocket类为网络通信提供了一套丰富的方法和属性,主要用于管理连接,实现Berkelery通信段套接字接口,同时,还定义了绑定、连接网络端点以及传输数据所需的各种方法,并
关于在VS上创建的工程从win32改为x64时导致断点无法生效的原因与解决方法!
1、在改平台的时候很容易出现断点无法生效的问题,其原因为:na、创建平台的时候方法不对。nb、实际创建x64平台的方法有两种,第一种是:直接依托win32的平台设置,直接生产x64;第二种,只生产x64空白平台,然后自己进行一些相关设置。n2、解决方法是:na、其中第一种的方法为如下,其是弄好的配置,点击确定直接生产即可:nnn注意:这里的win32是不能改为空。因为x64要根据wi
WPF:解决 调用线程无法访问对象,因为另一个线程拥有该对象。问题
下面写的是一个使用计时器去定时执行动画的逻辑:nnnnnn页面代码:nnnnnn可是运行后出现:调用线程<em>无法访问</em>此<em>对象</em>,因为另一个线程拥有该<em>对象</em>问题?nnnnnn实在没法查了查,终于找到了方法。nnnn直接看效果:nnnn这次加上上面那句话,这个问题就解决了。nn页面上实现的和后台逻辑一样的效果。3秒执行一次动画,动画是控制着页面上的Border的显隐,然后在2秒间刷新一次Text的值。nn...
释放的 Script 的代码" 的问题和解决方法">遇到"不能执行已释放的 Script 的代码" 的问题和解决方法
先说下问题产生的场景, 浏览器是IE6rn          我有一个页面A, rnrn                         A 里面有一个表单B, rnrn                                         表单B 中的一个元素C rnrn                                         一个iframe 页面Drn   
C#操作-主窗体打开一个子窗体,当子窗体关闭后,再重新打开子窗体,提示无法访问已经释放对象
  nn大家在操作C#事件中,可能会出现如图所示的问题:即<em>无法访问</em>已<em>释放</em>的<em>对象</em>。nn解决方案如下:nn1、在子窗体属性中,找到FormClosing事件,并双击进入事件,如图所示:nn                                       nn2、我的子窗体是Form2,因此显示为Form2_FormClosing。nnnn3、在此事件中加入这两行代码,问题解决!...
WPF 调用线程无法访问对象,因为另一个线程拥有该对象 解决方法
WPF中窗口及窗口上的控件是属于UI线程,可以再后台代码区直接使用控件属性,却不可以不可以再新建一个线程中操作控件,因为控件属于UI线程,你新建一个线程去调用UI线程中的控件属于跨线程访问,WPF默认不能跨线程访问。下面讲解决方法,用到Dispatcher语句nnn //假设我想通过线程点击一下按钮改变TextBox属性n private void btnSend_Clic...
对象释放
            //<em>对象</em><em>释放</em>n            //System.Runtime.InteropServices.Marshal.ReleaseComObject(item);nn            //System.Runtime.InteropServices.Marshal.ReleaseComObject(queryFilter);nn            //Syst...
无法访问释放对象。client.Connect(ipEndPoint);报错
做一个小例子rn客户端向服务器发送连接 和断开连接。第一次一切正常。rn第二次的时候会出现问题不知道为什么。望高手指教rnrnrn代码如下rnnamespace sock监视开启和关闭rnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rn Socket client = new Socket(AddressFamily.InterNetwork,rnSocketType.Stream, ProtocolType.Tcp);rn private void button1_Click(object sender, EventArgs e)rn rn rn IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("192.168.1.108"), 8000);rnrnrn rn // Connect the socket to the remote end point.rn client.Connect(ipEndPoint);rnrn rnrn private void button2_Click(object sender, EventArgs e)rn rn if (client.Connected)rn rn client.Shutdown(SocketShutdown.Both);rnrnrn client.Close();rn rn rnrn private void button4_Click(object sender, EventArgs e)rn rn if (client.Connected)rn label1.Text="连接着那!!!!!!!!!";rn elsern label1.Text="不连接了HAPPY";rnrn rn rn
this.invoke处提示无法访问释放对象
因为数据文件比较大,所以开了个线程发送数据,但是如果我在发送中途停止的话,就出现上面的情况了。不知道该如何解决。(串口通信)
无法访问释放对象X.show()的问题???
我写了一个登录界面窗体A,在程序B中引用模块A的窗体。A,B窗体都在模块里面实例化。rnrn在B中,点击“登录”,然后A.show()。在A.show输入完数据后,A.hide,B.show在B中显示A输入的数据的结果。rnrn第一次运行,完全正常。rnrn第二次点击登录,在A录入数据的时候,就会出现返回空的数据结果,并且显示:rnrn<em>无法访问</em>已<em>释放</em>的<em>对象</em>B.show.rnrn求方法解决求分析求帮助
无法访问释放对象对象名:“System.Net.Sockets.Socket”。
<em>无法访问</em>已<em>释放</em>的<em>对象</em>。rn<em>对象</em>名:“System.Net.Sockets.Socket”。 在 System.Net.Sockets.Socket.get_Available()rnrn这是我的socket服务端发生的异常;rn我的服务端socket是异步接收客户端数据,上面这段异常是在客户端连接服务端之后,不给服务端发送任何数据包的情况下rn服务端检查到并关闭掉该客户端连接,试过先Shutdown(SocketShutdown.Both);然后再close();然而并没有用,rnrnrn检查是一个定时器,每分钟检查一次,查检是一个for所有的客户端检查连接数据包情况;满足关闭条件则关闭客户端<em>释放</em>资源rn,就是当我关闭客户端<em>释放</em>资源的时候,就发生<em>错误</em>哦就是close之后,readCallBack里面就发生这个异常了,我不知道要怎么做才能不让这个异常发生,希望知道的人能告诉我,在这里谢谢了rn以下是接收回调函数rn[code=csharp]rn public virtual void ReadCallback(IAsyncResult ar)rn rn tryrn rn string _content = string.Empty;rn SocketClientVO _state = (SocketClientVO)ar.AsyncState;rn Socket _handler = _state.m_socket;rn int _Available = _handler.Available;rn byte[] RecievedData = new byte[_Available];rn switch (_Available)rn rn case 0:rn Close(_state);rn rn Logger.wirte("接收到0包" + _state.Code+"正常退出");rn return;rn default:rn rn int curRcv = 0;rn int hasRecv=0;rn int left =_Available;rn //_handler.EndReceive(rn while (hasRecv < _Available)rn rn curRcv = _handler.Receive(RecievedData, hasRecv, left, SocketFlags.None);rn left -= curRcv;rn hasRecv += curRcv;rn rn break;rn rnrn rn tryrn rn byte[] temp = new byte[0];rn _handler.BeginReceive(temp, 0, 0, 0, new AsyncCallback(ReadCallback), _state);//继续读取下一个数据rn rn catchrn rn this.Close(_state);rn rnrn rn catch (Exception ex)rn rn Logger.wirte(ex);rn rn rn[/code]
无法访问释放对象对象名:"Icon"
开发环境:XP sp2;VS2008测试版;选用framework2.0(因为要在2000上部署) rn 现象:开发打包过程一切正常!rn部署环境:2000sp4;framework2.0;rn 现象:安装正常.当点关闭最大化的MDI子窗体时,出现"<em>无法访问</em>已<em>释放</em>的<em>对象</em>,<em>对象</em>名:"Icon""异常!其他操作都很正常.(在另一台XPsp2也安装过,也是这种情况)rnrn 这是为什么呢??请问高手,老手,新手.谢谢大家!rn
C# Richtextbox 无法访问释放对象
现在我有一个主窗口FrmMain,一个子窗口FrmSub,子窗口里面有个RichTextBox,在主窗口FrmMain 里面我有个方法,就是弹出FrmSub,代码是这样的rnFrmSub _frmSub=new FrmSub();rn_frmSub.Show();rn现在问题就出现了,当我第一打开FrmSub时,往RichTextBox里面AppendText("aaaa"),很正常,可是当我关闭FrmSub,再打开FrmSub时,往RichTextBox里面AppendText("aaaa")就报错了“<em>无法访问</em>已<em>释放</em>的<em>对象</em>”。。rn我很有郁闷,我每次都是New一个FrmSub,按道理说里面的控件都是重新创建的啊, 怎么还报这个错啊?不知道有哪位遇到这样的问题啊?该怎么解决啊?rn
C#Winform打印预览无法访问释放对象
我想打印预览一张图片rn第一次单击能打开,关上预览后再单击预览就报错rn<em>无法访问</em>已<em>释放</em>的<em>对象</em>。<em>对象</em>名:“PrintPreviewDialog”。rn源码为:rnnamespace WindowsFormsApplication10rnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rnrn private void button1_Click(object sender, EventArgs e)rn rn printPreviewDialog1.Show();rn rnrn private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)rn rn e.Graphics.DrawImage(Image.FromFile("c:\\1233.jpg"), 100, 100);rn rn rnrn希望有高手能帮帮我,先谢谢了 rn
无法访问释放对象 对象名:Icon
myForm是我的一个窗体实类rnrn当我在另一个项目中引用这个dll,初始化 new myForm(Icon ico) 时候 myForm 为什么不能修改原来的图标?rnrn这时候会报错 <em>无法访问</em>已<em>释放</em>的<em>对象</em> <em>对象</em>名:Iconrnrn请问应该如何解决?谢谢
WPF内存释放,C#
WPF用起来虽然很爽,但是内存涨的很过分啊!曾让我一度想放弃这个平台。。。内存一直狂涨,100,200,300.。。。。GC也回收不定,直到有一天,找到了方法!nnNuget搜索lierda.WPFHelper,再AppStratup时,new一下,然后内存基本可以压缩到50MB以内,这个DLL每30s压缩一次内存,最低可以压缩到10MB。nn nnn示例代码: n /// &amp;lt;summar...
WPF关闭应用程序,释放Window窗口资源方法
WPF关闭应用程序,<em>释放</em>Window窗口资源方法nnWindowsForm里一个Application.Exit();方法就可以关闭应用程序,<em>释放</em>掉资源。nWPF里Application类没有该方法,但是有一个Exit的事件驱动,在WPF应用程序里面关闭程序讲究很多:nn在WPF应用程序的关闭是有ShutdownMode属性设置,具有3中枚举类型的值:n1)OnLastWindowClose 应用...
如何修改未释放的请求中ABAP 对象的包
在维护ABAP<em>对象</em>时,有时会将ABAP<em>对象</em>放错包,直接在菜单 GOTO -&gt; Object Directory Entry里无法修改,需要另外一种方法来修改:nn1.运行事务码 SE03,打开Transport Organizer,选择“Change Object Directory Entries”.nnnnnn2.输入要修改的ABA<em>对象</em>,如下图:nnnn3.选择需要修改的对...
Entity Framework 6 连接Sqlite数据库遇到的问题
项目中有用到EF6,使用过程中遇到了点问题,记录一下,希望给有需要的同学一点帮助rn至于怎么用ef 网上有很多教程 在此不再赘述rn1、问题一rn获取Nuget包后,导入数据库,编译rn提示Unable to determine the provider name for provider factory of type 'System.Data.SQLite.SQLiteFactory'. Ma
不能执行已释放 Script 的代码
      写完一个功能,在测试的时候,遇到一个问题,这个问题不是必现,偶尔会出现js报:不能执行已<em>释放</em> Script 的代码,并且指向jquery-1.12.4.min.js这个js,百度了很多还是没有解决,最后问前端的人有没有遇到过,挺巧刚好遇到过,可能是少引js文件导致,就排查js,果然是少引js。      问题不是很大,写出来希望能够帮助哪些遇到同样问题的人。<em>错误</em>截图如下:...
SAP修改已经释放的请求
表:E070 更改 & 运输系统: 请求/任务的抬头rnrnrn修改TRSTATUS  从 R 到 DrnD 可修改rnL 可修改,受保护rnO 已启动发布rnR 已发布rnN 已发布(含对已修复<em>对象</em>的导入保护)
基于WriteableBitmap对象类采用擦写内存方式,低开销更新WPF Image UI控件
WriteableBitmap低开销更新WPFImage UI控件nnWPF的Image控件绑定资源<em>对象</em>WritableBitmapnn1.原始图片加载到bitmap<em>对象</em>nn2.转化bitmap<em>对象</em>为pixelformat是rgb32的bitmap nn3.再将其转化成rgb32的byte[] nn4.Marshal.Copy()将得到的数组赋值入WritableBitmap的writableBi...
Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流的解决方法
原本在CS项目中用的好好的在BS项目中既然提示我导出出现<em>无法访问</em>已关闭的流的解决方法 比较郁闷经过研究 终于解决了先将方法发出来 让遇到此问题的筒子们以作参考rn//新建类 重写Npoi流方法npublic class NpoiMemoryStream : MemoryStreamn {n public NpoiMemoryStream()n {n
解决ie浏览器的 “不能执行已释放 Script 的代码” 问题
之前在工作中遇到了类似的<em>错误</em>,场景是这样的,创建了一个对话框,在对话框中通过window.parent.函数 的方式去获取了父窗体的<em>对象</em>,在chrome下没事,但在ie下出现了此<em>错误</em>。nn且最终报错的地方与一处控件的使用有关系,解决此问题的方式也很简单,就是在对齐进行复杂使用前,先做一次clone,建议自己实现clone功能,这样就能够脱离父窗体的引用关系。...
WPF BitmapImage 占用资源无法释放、无法删除的问题
使用Image控件显示图片后,虽然自己<em>释放</em>了图片资源,Image.Source =null 了一下,但是图片实际没有<em>释放</em>。rn解决方案:修改加载方式~rnrnrn public static BitmapImage GetImage(string imagePath)n {n BitmapImage bitmap = new BitmapImage
调用线程无法访问对象,因为另一个线程拥有该对象(转)
WPF:Dispatcher.Invoke 方法,只有在其上创建 Dispatcher 的线程才可以直接访问DispatcherObject。若要从不同于在其上创建 DispatcherObject 的线程的某个线程访问 DispatcherObject,请对与 DispatcherObject 关联的 Dispatcher 调用 Invoke 或 BeginInvoke。需要强制线程安全的 Di...
基于TCP协议下的socket编程
socket:  TCP/IP协议中一个端口号和一个IP地址绑定在一起就生成一个socket就表示了网络中唯一的一个进程,它是全双工的工作方式。基于TCP的<em>socket编程</em>函数的使用:1、socket()        #include           /* See NOTES */n       #include nn       int socket(int domain, int typ
无法访问释放对象对象名:“在释放后访问的 DataContext
运行报错,,请教
无法访问释放对象对象名:“在释放后访问的 DataContext。”。
帮<em>帮忙</em>啊.用的 LINQ
C# 使用弱引用释放静态资源
class Programrn    {rn        static void Main(string[] args)rn        {rn            TestClass.Defalut.i = 5;rn            //输出5rn            Console.WriteLine(TestClass.Defalut.i);rn            GC.C
OC向一个已经释放对象发送消息会怎样
OC向一个已经<em>释放</em>的<em>对象</em>发送消息会怎样关键字:MRC、ARC、EXC_BAD_INSTRUCTION、deallocated一、提出问题在OC向一个已经<em>释放</em>的<em>对象</em>发送消息会出现什么情况呢?二、作出假设向一个已经<em>释放</em>的<em>对象</em>发送消息,程序会闪退。三、验证问题1、创建MRC工程为了方便验证,我们使用MRC来测试。创建一个工程,将环境切换到MRC,target的Build Settings下搜索,Obje...
使用ThreadPool.QueueUserWorkItem记录网站错误日志
在Global的Application_Error一般处理没有被捕获的异常,写入日志,并返回用户信息。n在访问量很小的情况下,可以用下面的代码:nnnlock (obj)n {n using (FileStream fs = new FileStream(LogPath, FileMode.Append, FileAccess.Write
WPF与SpeechSynthesizer结合使用
已完成: 1:可切换2套Window皮肤; 2:文件导入也可手输; 3:音量及语速调节; 4:可生成声音文件; 5:可暂停继续; 未完成: 1:读完一行时向下移动一行; 2:进度条效果; 原因: 声音同步朗读时,界面会卡死;异步朗读时,界面控件不好控制,无法判断该行是否读完; 现在使用的是读一行,取一行。如果使用全部加载读取内容时,内存增长很大,占用资源高; 超过3M文件时会卡,但不影响声音,想完善但能力有限,有兴趣的可以交流
IE报错 不能执行已释放的script代码
有可能是IE版本问题,该错是在虚拟机里面的ie6跑出来的,换成外面的IE8就好使了。
不能执行已释放的 Script 的代码
因为发现在ie中,当一个ifame关闭时,这个iframe中的<em>对象</em>也随之销毁;nn例如当前这个iframe的window.top.listAllData = new Array() 这段代码在iframe关闭之后,window.top.listAllData被赋值的<em>对象</em>就没了,但是window.top.listAllData的声明还在.类似于指针还在,指针指向的<em>对象</em>已经销毁.所以当这段js代码在一
C#无法访问释放的资源
Panel p = (Panel)DAL.Commen.arrPanels[i];rnthis.splitContainer1.Panel1.Controls.Add(p);rnrn这个窗体关闭后第二次打开就会报Panel已<em>释放</em>的<em>错误</em>。rnrn就是这句代码,出错了。那个DAL.Commen.arrPanels是我设置的一个公共静态ArrayList,存放的是好多Panel<em>对象</em>。我测试了,可以调用出它来,只写上面那一句不会报错。然后下面那句把括号里的换成 new Panel()也不会报错。rnrn怎么回事啊大神们= =
ELM——HOG
代码有问题 出现内存访问<em>错误</em> 求大神<em>帮忙</em>修改
IE下js报错:不能执行已释放的script代码
1,<em>错误</em>发生(只在IE发生)nn        在父页面打开了某个子页面(iframe),子页面去操作父页面的全局变量,关闭子页面后再次调用该全局变量,此时发生<em>错误</em>。nnn//父页面全局变量nvar list=[1,2,3];nnn//子页面(iframe)nif(checkSomething()){n window.parent.list=[];n}n//关闭子页面nclose();nnn...
无法访问释放对象 求解决 #c
程序没有<em>错误</em>但是在运行结束是会提示<em>无法访问</em>以<em>释放</em>的<em>对象</em>rnrnrn未处理 System.ObjectDisposedExceptionrn Message="<em>无法访问</em>已<em>释放</em>的<em>对象</em>。\r\n<em>对象</em>名:“FormP2P”。"rn Source="System.Windows.Forms"rn ObjectName="FormP2P"rn StackTrace:rn 在 System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)rn 在 System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)rn 在 P2PExample.FormP2P.ShowMyMessage(String str) 位置 G:\网络通信\P2PExample\P2PExample\FormP2P.cs:行号 152rn 在 P2PExample.FormP2P.Listening() 位置 G:\网络通信\P2PExample\P2PExample\FormP2P.cs:行号 101rn 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)rn 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)rn 在 System.Threading.ThreadHelper.ThreadStart()rn InnerException: rnrn代码如下:rn private void ShowMyMessage(string str)rn rn //比较调用的线程和创建的线程是否为同一线程rn //如果不是,结果为truern if (this.listBoxMessage.InvokeRequired == true)rn rn //如果结果为true,则自动通过代理执行else中语句的功能(注意:是else不是IF)rn //这里只需要传入参数Str即可rn //但是执行的功能会始终与else中的指定的功能相同,区别仅是通过代理完成rn ShowMessageDelegatel messageDelegate = new ShowMessageDelegatel(ShowMyMessage);rn this.Invoke(messageDelegate, new object[] str );-----------------这行运行结束时报错rn rn elsern rn //在这里指定如果是同一个线程需要完成什么功能rn //如果是不同的线程,系统会自动通过代理实现这里指定的功能rn listBoxMessage.Items.Add(str);rn
调用线程无法访问对象,因为另一个线程拥有该对象
调用线程<em>无法访问</em>此<em>对象</em>,因为另一个线程拥有该<em>对象</em>
嵌套控件释放——Dispose方法
问题描述:nControlA 中包含很多嵌套控件,怎么<em>释放</em>ControlA?nnControlA.Dispose();nControlA = null;nGC.Collect();nnn
日志文件
应该就是安装过程中的<em>错误</em>说明吧 但我看不懂..求高手<em>帮忙</em>
关于调用线程无法访问对象,因为另一个线程拥有该对象的问题的解决办法
这个问题出现的原因主要是线程间的访问限制导致的,如果想要访问可以通过委托来进行访问rnrn this.userModeControl.Dispatcher.Invoke(rn                            new Action(rn                                delegatern                             
WPF绑定图片引起的文件被占用异常的解决方案
WPF默认的Image控件绑定Source后,图片文件会被占用,此时删除或者使用另一Image控件绑定该图片,将引起文件被占用异常。甚至当Image控件删除后仍会存在文件被占用的异常,资料给出的解释是Image控件没有Dispose方法导致文件未被<em>释放</em>,这一问题给图片绑定的便捷操作带来了很多麻烦。rn    解决思路:绑定图片时,我们从文件读取为字节并<em>释放</em>文件。创建bitmap图像,使用读取的字节
使用Dispose模式释放资源
1、资源的内存使用情况 n为资源分配内存–>初始化内存,设置资源的初始状态–>访问内存,使用资源–>摧毁资源状态,<em>释放</em>2、资源包括托管资源和非托管资源 n托管资源:由CLR管理分配和<em>释放</em>的资源。 n非托管资源:不受CLR管理的<em>对象</em>,如网络连接(套接字)、数据库资源(数据库连接)、内存缓冲区、文件、屏幕空间等。3、使用Dispose模式<em>释放</em>资源 n含有非托管资源的<em>对象</em>需要使用Dispose模式。通过实
【转载】出现“不能执行已释放的Script代码”错误的原因及解决办法
http://www.jb51.net/article/11181.htmn n很多web开发者或许都遇到过这样的问题,程序莫名奇怪出现“不能执行已<em>释放</em>Script的代码”,<em>错误</em>行1,列1.对于这种消息描述不着边,行列描述更是乱写的js<em>错误</em>,相信是所有调试js程序的朋友们最郁闷也最憎恨的事情!遇到这种问题,最简单的办法直接把<em>错误</em>贴到baidu或google那个小输入框中让他们先给点指点,再去解决,...
释放 script 的代码"的解决方法">关于IE抛出"不能执行已释放 script 的代码"的解决方法
前提概要:n           因为业务需要,在A.jsp中使用nui.open()打开了B.jsp,弹出B的窗口后,选择了自己需要的内容后调用ondestory方法关闭B窗口,然后提交A页面的form表单,代码如下:n nui.open({n                /B.jsp?vcode">url:"/B.jsp?vcode= +'test',
自学WPF之Form第二次弹出异常,无法访问释放的资源。
长路漫漫,唯剑作伴。。。nnn
关于IDataReader的释放
关于IDataReader的<em>释放</em>n(一)数据库连接何时关闭n起初使用IDataReader时并不是很了解。以为执行完 cmd.ExecuteReader();数据库就可以关闭了。但是发现没有数据返回,代码如下n public IDataReader MyDataReader(IDbCommand _cmd)n {n if (_cmd == null)
释放WPF应用程序的内存
WPF应用程序的内存有时会成为性能瓶颈 试了许多方式与API函数 最终用的这种方法
c++ 释放已经释放的内存会出现的错误
_CRT_SECURITYCRITICAL_ATTRIBUTEnvoid __CRTDECL operator delete(void* const block) noexceptn{n#ifdef _DEBUGn_free_dbg(block, _UNKNOWN_BLOCK);n#elsenfree(block);n#endifn}n此时 输出显示的是n0x00007FF9A86E547E (u...
WPF 依赖属性多线程赋值
WPF 依赖属性多线程赋值问题描述解决方法代码示例rn问题描述rn当依赖属性被页面绑定后,子线程对依赖属性赋值时会出现<em>错误</em>:调用线程<em>无法访问</em>此<em>对象</em>,因为另一个线程拥有该<em>对象</em>。rn解决方法rn使用CheckAccess()判断调用线程是否可以访问此<em>对象</em>,如果不可以,使用Dispatcher的invoke方法。rn代码示例rnAction act =()=&amp;amp;gt;{ m_ComputerInfo.MacId = ...
QT对象释放顺序引起的报错问题
最近在做项目时,遇到一个奇怪的问题——QT<em>对象</em><em>释放</em>的顺序不对的话,会引起崩溃。具体是这样的:nn1、先定义两个QT类(Class1、Class2),下面是头文件:nnn#include &amp;lt;QObject&amp;gt;nnclass Class1 : public QObjectn{n    Q_OBJECTnpublic:n    explicit Class1(QObject *parent =...
C#技巧【调用线程无法访问对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。具体可咨询:http://www.sydtek.com/nn调用线程<em>无法访问</em>此<em>对象</em>,因为另一个线程拥有该<em>对象</em>的问题的...
修改已释放的传输请求
目前发现有3种方法可以修改已经<em>释放</em>的传输请求号nnn通过debug后台表更改nn找到想要修改的传输请求号n列表内容n - n
WPF在mxs里引用图片资源并释放的方法
最近在MXS里用WPF写了UI,图片资源都是在Xaml里写绝对路径,这样子不方便而且容易报错n下面这个方法可以在MXS里正确加载图片资源n这是UInnhttp://schemas.micr
C#中的对象资源释放
c# 自身对于所有托管<em>对象</em>(managed object)都是可以不用程序员去干预的(注:可以不用干预,当然资源耗费很多且必要时也可以去做一些干预来提升程序性能,比如通过代码部分控制垃圾回收),但对于非托管资源(文件、流、数据库连接、GDI+<em>对象</em>、COM<em>对象</em>等等)都需要程序来控制资源的<em>释放</em>。nn<em>释放</em>资源主要有两种方式,其一是<em>对象</em>实现IDisposable接口,由程序员调用IDisposable.D...
关于DLL中new在主程序中释放的问题
首先软件运行调用dll,是将dll中的模块加入主程序中运行,而不是单独运行,dll new一个类 将这个类的指针返回给主程序,这时候主程序接管这块内存的,用完后所以要对这个类所占的内存进行<em>释放</em>,这和通过调用dll里面<em>释放</em>是一个道理 。
winform 调用 this.invoke 出错 无法访问释放对象
"<em>无法访问</em>已<em>释放</em>的<em>对象</em>。\r\n<em>对象</em>名:“mainForm”。" System.Exception System.ObjectDisposedExceptionrn出现该异常是在关闭窗口的时候,又再次调用了this.invoke方法.rn请问如何在关闭窗口时候把invoke的线程给干掉或者如何避免.rn
c# 关于invoke的无法访问释放对象怎么办?
[img=https://img-bbs.csdn.net/upload/201901/11/1547191232_402998.png][/img]rn这代码是从https://blog.csdn.net/kevin_iot/article/details/53926599上找来的,自己做单一界面的demo是没问题的,但现在把这功能加在其他地方,因为调用了这段代码后会跳到另外一个界面,而当前Form的<em>对象</em>已摧毁时委托事件还没结束从而报错,现在用什么办法可以解决。rnrn
另人崩溃的WCF,无法访问释放对象
问题:rn [WebMethod(EnableSession = true)]rn public object ReceiveMessage(Guid userid)rn rn if (OC.State == System.ServiceModel.CommunicationState.Closed) OC.Open();rn var select = from i in OC.ReceiveMessage(userid, (Model.User)Session["user"]) where i.Loaded == false select new SenderName = OC.GetInfoByID((Guid)i.Send_ID).Name,ID = i.ID ;rn OC.Close();rn return select;rn rn这里一共有两个地方调用wcf, OC.ReceiveMessage和 OC.GetInfoByIDrn前面调用的时候一切正常,到后面调用的时候就会报错: <em>无法访问</em>已<em>释放</em>的<em>对象</em>rnrn郁闷,中间就没有什么关闭的代码,搞不定啊。。。。。。。。。。。。。。rnrn
C# winform 项目,无法访问释放对象对象名:"WebBrowser"
在C# winform 项目中,在关闭窗体时导致WebBrowser报错,提示:<em>无法访问</em>已<em>释放</em>的<em>对象</em>。<em>对象</em>名:"WebBrowser"。rnrnrn请<em>帮忙</em>看看代码这么修改下,谢谢!rn代码如下:rn private void FrmAnalysis_Load(object sender, EventArgs e)rn rnrn timer = new System.Threading.Timer(MyTimerCallback, null, 0, 1000);rn rnrn void MyTimerCallback(object o)rn rn tryrn rn //防止在窗口句柄初始化之前就走到下面的代码rn if (this.IsHandleCreated == true)rn rn TheadPackage();rn rn rn catchrn rn rn rnrnrn void TheadPackage()rn rn System.Threading.Thread thread = new System.Threading.Thread(rn new System.Threading.ThreadStart(doWork));rn thread.Start();rn rnrnrnrn void doWork()rn rn tryrn rn System.Threading.Thread.Sleep(500);rn rn if (webBrowser1 != null)rn rn webBrowser1.Navigate(reporturl); //代码走到这边报上面的<em>错误</em>rn rn rn rn catch (Exception ex)rn rn MessageBox.Show(ex.Message);rn rn
请教C#中多线程“无法访问释放对象错误处理
窗体代码:rn[code=C#]rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Linq;rnusing System.Text;rnusing System.Windows.Forms;rnusing System.Threading;rnrnnamespace DoorMan.Fromrnrn public partial class Wait_Form : Formrn rn private delegate void SetPos(int ipos);rn Thread fThread = null;rn public Wait_Form(string thime,Icon IcoFile)rn rn InitializeComponent();rn this.Text = thime;rn this.MaximizeBox = false;rn this.MinimizeBox = false;rn this.Icon = IcoFile;rn this.StartPosition = FormStartPosition.CenterScreen;rn //this.ControlBox = false;rnrn rn rn private const int CP_NOCLOSE_BUTTON = 0x200;rn protected override CreateParams CreateParamsrn rn getrn rn CreateParams myCp = base.CreateParams;rn myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;rn return myCp;rn rn rnrn rn private void SetTextMessage(int ipos)rn rnrn if (this.InvokeRequired)rn rn SetPos setpos = new SetPos(SetTextMessage);rn //<em>无法访问</em>已<em>释放</em>的<em>对象</em>。<em>对象</em>名:“Wait_Form”。rn this.Invoke(setpos, new object[] ipos );//报错语句rn rn elsern rn this.progressBar1.Value = Convert.ToInt32(ipos);rn rnrn rn private void SleepT()rn rn int whilaa = 0;rn while (whilaa );rn fThread.Abort();rn rnrn private void Wait_Form_Load(object sender, EventArgs e)rn rn fThread = new Thread(new ThreadStart(SleepT));//开辟一个新的线程rn fThread.IsBackground = false ;rn fThread.Start();rn rn rnrnrn[/code]rn在类中调用窗体的代码rn[code=C#]rn public class Wait_Threadingrn rn Wait_Form wait_win;rn //Thread fThread = new Thread(new ThreadStart(Wait_From_Show));//开辟一个新的线程rn // private delegate void SetPos(int ipos);rn //Thread fThread = null;rn Thread fThread = null;rn string thiem=null;rn Icon ico = null;rn /// rn /// 创建一个等待窗体rn /// rn /// string 窗体标题rn /// icon 窗体图标rn public Wait_Threading(string thiem_c, Icon ico_c)rn rn this.ico = ico_c;rn this.thiem = thiem_c;rn fThread = new Thread(new ThreadStart(Wait_From_Show));//开辟一个新的线程rn rn /// rn /// 开始显示窗体rn /// rn public void Strart()rn rn rn fThread.Start();rn return;rn rn /// rn /// 结束窗体显示rn /// rn public void Stop()rn rn //wait_win .Close ();rn fThread.Abort();rn return;rn rn private void Wait_From_Show()rn rn //invoke rn wait_win = new Wait_Form(thiem, ico);rn wait_win.TopMost = true;rn wait_win.ShowDialog ();rn rn rn[/code]rnrn在主程序中调用的过程rnrn[code=C#]rn Wait_Threading wait_Win = new Wait_Threading(sysinfo_sysconfig1.ThisSysTemName, sysinfo_sysconfig1.Ico_File);rn wait_Win.Strart();rn//等待比较耗时会造成程序假死的代码完成rn wait_Win.Stop();rn[/code]rnrn如上的代码,在运行的时候窗体已经关闭,但是在wait_win窗体中的this.Invoke(setpos, new object[] ipos );语句报错。rnrnrn请教,代码要怎么修改,才能不导致运行的时候这个<em>错误</em>发生?rnrn
winform异步委托:无法访问释放对象对象名:“Form1”。
步骤是这样的。rn点击一个按钮然后开始异步委托执行一个循环。rn在循环中会访问到界面中的控件,由于是不同线程,需要唤起ui线程。rn[code=C#]rnpublic void SetValueFun(string str, string controlid, object form1)rn rn Form1 f1 = form1 as Form1;rn if (f1.InvokeRequired)rn rn f1.Invoke(new SetValue(SetValueFun), str, controlid, form1);rn rn elsern rn f1.Controls[controlid].Text = str;rn rn rnrnrn[/code]rn然后会抱<em>无法访问</em>已<em>释放</em>的<em>对象</em>。<em>对象</em>名:“Form1”。rn该怎么解决?知道问题出在哪,是因为窗体关闭了,但还是在继续执行。rn试过了rnif(f1.isDisposed)rn return;rn还是不行。
在winform中用到了WebBrowser控件,提示【无法访问释放对象】,怎么办?
在winform中用到了WebBrowser控件,在vs2005测试正常,但把winform放到网站上,提示【<em>无法访问</em>已<em>释放</em>的<em>对象</em>】,怎么办?rnrn具体如下:rnSystem.ObjectDisposedException: <em>无法访问</em>已<em>释放</em>的<em>对象</em>。rn<em>对象</em>名:“WebBrowser”。
CefSharp中ChromiumWebBrowser中的跨线程调用问题
之前有用ChromiumWebBrowser浏览器唤醒本地窗体。其实在用的时候就发现,存在一点线程使用问题,所以当时用了ShowDialog()方法。但是现在问题又出现了,窗体中还要打开打印窗口,PrintDialog.Show()调用的时候就出错了。基本可以肯定的是,一定是跨线程调用了。本来想偷懒解决的问题,看来还是需要处理。处理的方法也无外乎那么几个。1. CheckForIllegalCro...
异步Tcp socket遇到无法访问释放对象 System.Net.Sockets
客户端有个启动访问服务端的按钮,点击第一次是没有问题,但是点击第二次就遇到了问题,报rn异常:遇到<em>无法访问</em>已<em>释放</em>的<em>对象</em> System.Net.Sockets。现在怀疑是服务端的异步发送rn引起的,handler.Shutdown(SocketShutdown.Both);handler.Close();客户端没有接收到传来的数据,为null,汇报异常,客户端报异常的代码我已经加红,请各位帮我看看咋回事,我不知道咋改了。rn服务端:rnThread newThread;rn public static ManualResetEvent allDone = new ManualResetEvent(false);rnrn public delegate void SetRichTextBoxReceiveCallback(string str);rn public SetRichTextBoxReceiveCallback setRichTextBoxReceiveCallback;rn private void SetRichTextBoxReceive(string str)rn rn if (rtb_Content.InvokeRequired)rn rn setRichTextBoxReceiveCallback = new SetRichTextBoxReceiveCallback(SetRichTextBoxReceive);rn rtb_Content.Invoke(setRichTextBoxReceiveCallback, str);rn rn elsern rn rtb_Content.AppendText(str);rn rn rnrn private void btn_Start_Click(object sender, EventArgs e)rn rn setRichTextBoxReceiveCallback = new SetRichTextBoxReceiveCallback(SetRichTextBoxReceive);rn ThreadStart ts = new ThreadStart(acceptConnect);rn newThread = new Thread(ts);rn newThread.Start();rn rnrn private void btn_Click(object sender, EventArgs e)rn rn //newThread.Abort();rn System.Environment.Exit(0); rn rnrn /// rn /// 开启一个socket监听线程rn /// rn private void acceptConnect()rn rn IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8090);rn Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn // 绑定端口,并监听发起的连接请求。rn tryrn rn listener.Bind(endPoint);rn listener.Listen(100);rn while (true)rn rn // Set the event to nonsignaled state.rn allDone.Reset();rn // Start an asynchronous socket to listen for connections.rn SetRichTextBoxReceive("等待客户端连接请求中......\n");rn listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);rn // Wait until a connection is made before continuing.rn allDone.WaitOne();rn rn rn catch (Exception ex)rn rn SetRichTextBoxReceive(ex.Message.ToString());rn rn rnrn /// rn /// 接收连接请求rn /// rn /// rn public void AcceptCallback(IAsyncResult ar)rn rn // Signal the main thread to continue.rn allDone.Set();rnrn // Get the socket that handles the client request.rn // 获取处理客户端请求的套接字rn Socket listener = (Socket)ar.AsyncState;rn Socket handler = listener.EndAccept(ar);rnrn // Create the state object.实例化类StateObject。rn StateObject state = new StateObject();rn state.workSocket = handler;rn handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state);rn rnrn /// rn /// 读取连接请求rn /// rn /// rn private void ReadCallback(IAsyncResult ar)rn rn string content = string.Empty;rnrn // Retrieve the state object and the handler socket from the asynchronous state object.rn StateObject state = (StateObject)ar.AsyncState;rn Socket handler = state.workSocket;rnrn // Read data from the client socket. rn int bytesRead = handler.EndReceive(ar);rnrn if (bytesRead > 0)rn rn // There might be more data, so store the data received so far.rn state.sb.Append(Encoding.ASCII.GetString(state.buffer, 0, bytesRead));rn // Check for end-of-file tag. If it is not there, read more data.rn content = state.sb.ToString();rn if (content.IndexOf("") > -1)rn rn // All the data has been read from the client. Display it on the console. rn SetRichTextBoxReceive("Read " + content.Length + " bytes from socket.\nData:" + content + ".\n");rn // Echo the data back to the client.rn Send(handler, content);rn rn elsern rn // Not all data received. Get more.rn handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReadCallback), state);rn rn rn rnrn private void Send(Socket handler, String data)rn rn // Convert the string data to byte data using ASCII encoding.rn byte[] byteData = Encoding.ASCII.GetBytes(data);rn // Begin sending the data to the remote device.rn handler.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), handler);rn rnrn public void SendCallback(IAsyncResult ar)rn rn tryrn rn // Retrieve the socket from the state object.rn Socket handler = (Socket)ar.AsyncState;rn // Complete sending the data to the remote device.rn int bytesSent = handler.EndSend(ar);rn rtb_Content.Invoke(setRichTextBoxReceiveCallback, "Sent " + bytesSent + " bytes to client.\n");rn [color=#FF0000] handler.Shutdown(SocketShutdown.Both);rn handler.Close();[/color] rn catch (Exception ex)rn rn throw ex;rn rn rn
无法访问释放对象 DevExpress GridView和Popup控件
有这么个功能rnrn数量列,根据输入值的正负设置 对PopupContainerEdit设置不同的PopupContainerControlrn代码如下rn[code=C#]if (inputNum == 0)rn rn XtraMessageBox.Show("输入数量不能为零!");rn return;rn rn else if (inputNum > 0)rn rn rn _popupContainerBathEdit.Properties.PopupControl = this.popupContainerControlBath;rn rn elsern rn _popupContainerBathEdit.Properties.PopupControl = this.popupContainerControlMatSeq;rn rnrn _popupContainerBathEdit.ShowPopup();rn _popupContainerBathEdit.Focus();rn[/code]rnrn出现<em>无法访问</em>已<em>释放</em>的<em>对象</em>,问题是我不知道 <em>对象</em>什么时候被<em>释放</em>了rnrn请各位大大指教
强制释放内存
直接上代码,效果自己测试吧rn [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]n public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);n
无法访问释放对象。\r\n对象名:“System.Net.Sockets.Socket”。
在数据表中共有5个IP段,分别是123.164.122.1// 123.164.122.2// 123.164.122.3// 123.164.122.4// 123.164.122.5 虚幻从数据库中取出这些IP并使用socket通信连接.rnrnrn在成功连接了一个IP后,马上socket关掉,循环连接第二个,依次........rnrn明明已经成功<em>释放</em>,但是程序却提示:"<em>无法访问</em>已<em>释放</em>的<em>对象</em>。\r\n<em>对象</em>名:“System.Net.Sockets.Socket”。"rnrn该如何解决,是不是要等待时间<em>释放</em>,谢谢,在线等rnrnrn代码如下:rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Text;rnusing System.Windows.Forms;rnrnusing System.Data.SqlClient;rnusing System.Configuration;rnusing System.Net;rnusing System.Net.Sockets;rnusing System.Threading;rnusing Microsoft.Win32;rnrnrnnamespace CommandSendrnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rn System.Net.Sockets.Socket su = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); rn System.Net.IPAddress addr = new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].Address);rn public string StrIp,StrState;rn //Thread t;rnrn #region 发送命令rn public void WaitData()rn rn tryrn rn rnrn string sql = " SELECT * FROM Ip ";rn DataTable dt = Conn.BindTable(sql);rn if (dt.Rows.Count != 0)rn rn for (int i = 0; i < dt.Rows.Count; i++)rn rn if (dt.Rows[i]["IP"].ToString().Replace("'", "''").Trim() != "")rn rn byte[] bytes = new byte[1024];rnrn System.Net.IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());rn System.Net.IPAddress[] ipAddress = ipHostInfo.AddressList;rn rn StrIp = dt.Rows[i]["IP"].ToString().Replace("'", "''").Trim();rn StrState = dt.Rows[i]["State"].ToString().Replace("'", "''").Trim();rnrn IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(StrIp), 9802);rn su.Connect(localEndPoint);rnrn su.Send(Encoding.Unicode.GetBytes(StrState.ToString().Replace("'", "''").Trim()));rnrn su.Receive(bytes);rn this.label1.Text = Encoding.Unicode.GetString(bytes).Replace("'", "''").Trim();rnrn //if (this.label1.Text == "OK")rn //rn su.Close();rn //rn rn rn rn rn rn rn catch (Exception ex)rn rn string a = ex.ToString();rn su.Close();rn rn finallyrn rn su.Close();rn rnrn rn #endregionrnrn #region 初始化rn private void Form1_Load(object sender, EventArgs e)rn rn WaitData();rn rn #endregionrn rn
关于“无法访问释放对象”,老问题,不知道如何解决
最近做程序,采用定时器加委托方式对进行控制程序如下:rnrnrnrn[code=C#]rn System.DateTime oldtime=new DateTime();rn delegate void SetTextCallback(string strTime);//定义托管函数rn System.Timers.Timer t = new System.Timers.Timer(100);//实例化Timer类 rn bool closeFlag;rn public Form1()rn rn InitializeComponent();rn rnprivate void timeClass_Click(object sender, EventArgs e)rnrn t.Elapsed+= new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件; rn t.AutoReset = true;//设置是执行一次(false)还是一直执行(true); rn t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; rn rnrnpublic void theout(object source, System.Timers.ElapsedEventArgs e) //定时器调用rnrnrn System.DateTime currentTime = new DateTime();rn currentTime = DateTime.Now;rn string ss = (currentTime - oldtime).TotalMilliseconds.ToString();rn oldtime = currentTime;rn AddText(ss);rnrnrnvoid AddText(string strTime)rnrn //在此处使用过:this.isDisposed和this.Disposing进行判定,无法解决 rn if (this.listView1.InvokeRequired)rn rn SetTextCallback d = new SetTextCallback(AddText); rn this.Invoke(d, new object[] strTime );//此处出现,无法<em>释放</em>问题rn rn elsern rn string[] str = listView1.Items.Count.ToString(), "测试", strTime ;rn ListViewItem item = new ListViewItem(str);rn listView1.Items.Add(item);rn rnrnrnprivate void Form1_FormClosing(object sender, FormClosingEventArgs e)rnrn rn t.Close();//这个地方如果增加一个关闭t.close的话也不行,定时器整个form关闭前没有被关闭!rn Thread.Sleep(500);rnrnrn[/code]rnrnrn程序的主要思想在定时器的状态下,向listview表中写数据,现在问题是,如果程序关闭的时候,定时器不会关闭,这个时候往list中写数据,会提示From已被<em>释放</em>。rnrn在网上也看了很多类似的帖子,主要方法如下:rn1、使用this.isDisposed,this.Disposing进行判定rn2、在退出的时候增加一个判定的变量,如quitFlagrn3、退出的时候增加一个sleep也不行,总是感觉我的from被关闭的时候,定时器还没有被关闭rn以上方法都做过测试了,都不行!rnrn以上还有没有更好的方法,目前测试要是能在from关闭前!!完全!!关掉定时器,程序退出就没有问题!rn不要给我说用try...catch,这个根本就不是一个解决方法,说Try...catch的不给分,吼吼。rnrn
急急急急急急急急急急???????c# socket编程中出现:无法访问释放对象
客户端想要连续从固定路径读取图片,然后将图片发送给服务器端,但是我却经常出现发送一张图片之后报rn:<em>无法访问</em>已<em>释放</em>的<em>对象</em> <em>对象</em>名“System.Net.Socket.TcpClient” rn [color=#FF0000][/color]客户端简单起见就写循环体里面东西了rn[color=#000000][/color]rnrnrn tryrn rn TcpClient client = new TcpClient();rn client.Connect(System.Net.IPAddress.Parse("166.111.66.37"), 8880);rnrnrn string[] files = Directory.GetFiles(@"C:\Documents and Settings\Administrator.B3B7434061FE4C4\My Documents\Visual Studio 2005\Projects\MyProject\通信Client端\通信Client端\bin\Debug\");rnrnrn foreach (string file in files)rn rnrn string filefullname = Path.GetFileName(file);rn string suffix = Path.GetExtension(file);rnrnrn if (suffix == ".jpg")rn rn rn rn rn myMedia.FileName = System.IO.Path.GetExtension(filefullname);rn Console.WriteLine(filefullname);rn FileStream fs = new FileStream(filefullname, FileMode.Open);rnrnrn myMedia.LoadFileData(fs);rnrnrn NetworkStream clientStream = client.GetStream();//创建接收用的Streamrnrn MemoryStream myFile = new MemoryStream();rn BinaryFormatter formatter = new BinaryFormatter();rn formatter.Serialize(myFile, myMedia);rnrnrnrn arrbyte = myFile.ToArray();rnrn myFile.Close();rn clientStream.Write(arrbyte, 0, arrbyte.Length);rn clientStream.Close();rn client.Close();rn rn rn rn[color=#FF0000][/color]服务器端rnrnrnrnnamespace ldyServerrnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rn private SerializeFile myMedia = new SerializeFile();rn private SerializeFile newFile = null;rn private void Form1_Load(object sender, EventArgs e)rn rn rn rnrn private void button1_Click(object sender, EventArgs e)rn rn this.button1.Enabled = false;rn //新建监听 rn TcpListener listener = new TcpListener(IPAddress.Parse("166.111.66.37"), 8880);rn listener.Stop();rn //开始监听 rn listener.Start();rn while (true)rn rn const int bufferSize = 40960000;rn TcpClient client = listener.AcceptTcpClient(); rn //接收客户端传过来的数据 rn NetworkStream clientStream = client.GetStream();//提供网络访问的数据流rn byte[] responseBuffer = new byte[bufferSize];//提供一个缓冲区rn MemoryStream memStream = new MemoryStream();//将网络接收的数据流储存起来rn int bytesRead = 0;rn dorn rn bytesRead = clientStream.Read(responseBuffer, 0, bufferSize);rn memStream.Write(responseBuffer, 0, bytesRead);rn rn rnrn while (bytesRead > 0); rn BinaryFormatter formatter = new BinaryFormatter(); rn memStream.Seek(0, SeekOrigin.Begin);rn newFile = (SerializeFile)formatter.Deserialize(memStream);//反序列化以创建与原图形相同的<em>对象</em>图形;rn //自定义存放目录 newFile.FileName 存放在debug下面rn FileStream fs = new FileStream(newFile.FileName, FileMode.OpenOrCreate);rn BinaryWriter w = new BinaryWriter(fs);rn w.Write(newFile.FileData);rn fs.Close();rn memStream.Close();rn MessageBox.Show("成功");rn rn rnrn rnrn rnrnrn rn
关于androidstuio运行程序遇到 Error:(11, 8) 错误: 无法访问HttpEntity 找不到org.apache.http.HttpEntity的类文件解决方法
主要是targetsdk23以上版本不在支持,如果需要使用的话,在build.gradle文件中添加配置:useLibrary "org.apache.http.legacy"rnrnrn如:rnrnrnapply plugin: 'com.android.application'rnrnrnandroid {rn    compileSdkVersion 23rn    buildToolsVe
[Matlab]错误使用 handle.handle/get对象无效或已删除
以前没接触过Matlab,最近手上接到个项目,遇到一个问题各种谷歌没找到答案,经过两个星期努力,最终还是自己耐心输出log找到了问题所在。nUI部分如下图:nnn正常流程:n计算——将数据显示在表格中——保存表格n n触发<em>错误</em>流程:n计算特征之后,对表格进行选中(uitableCellSelection_Callback回调),再保存表格出错。n报错信息如下:n========
Net下Arcgis engine COM对象释放问题
问题描述:n       最近的项目中涉及到离线编辑的问题,我的做法是根据业务需求在本地建一个FileGeodatabase数据库,在编辑过程中需要重新同步数据库时候,需要删除现有离线数据库,但是即使使用了System.Runtime.InteropServices.Marshal.FinalReleaseComObject(o),在删除数据库的时候,任然提示数据库文件被另外一个线程占用。n问
对象释放和垃圾收集机制.txt
<em>对象</em>的<em>释放</em>和垃圾收集机制.txt <em>对象</em>的<em>释放</em>和垃圾收集机制.txt <em>对象</em>的<em>释放</em>和垃圾收集机制.txt <em>对象</em>的<em>释放</em>和垃圾收集机制.txt <em>对象</em>的<em>释放</em>和垃圾收集机制.txt
WPF自定义控件拖拽到界面报错-未将对象设置到引用的实例
WPF自定义控件拖拽到界面报错-未将<em>对象</em>设置到引用的实例n若给自定义控件注册了许多属性,那么在拖拽使用这个控件时可能会引起这个<em>错误</em>。原因是控件初始化时,各个属性未被显式赋值。n解决办法,给控件向外暴漏一初始化的方法,类似于这样npublic void XXX()n{n 属性1=xxxxx;n ...n}nn这样,就可以正常拖拽控件使用控件了。nn...
【WPF】CallMethodAction 未找到类型。请确保不缺少程序集引用并且已生成所有引用
n &amp;lt;i:EventTrigger EventName=&quot;LostFocus&quot;&amp;gt;n &amp;lt;ei:CallMethodAction TargetObject=&quot;{Binding XXX}&quot; MethodName=&quot;LostFocus&quot;/&amp;gt; n &amp;lt;/i:EventTrigger&amp;gt;nn   页面添加引用: nnn&amp;lt;Window x:Class=&q
matlab中:错误使用 handle.handle/set 对象无效或已删除
set( gca ) 命令出错
强连通分量及缩点tarjan算法解析
强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Time, DFN[N], Low[N]; DFN[i]表示 遍历到 i 点时是第几次dfs Low[u] 表示 以u点为父节点的 子树 能连接到 [栈中] 最上端的点   int
大漠老师在W3CTech上分享的AngularJS内容【PPT】下载
2013-11-24 大漠在W3CTech上分享的AngularJS内容【视频】 参考:http://damoqiongqiu.iteye.com/blog/1980808 相关下载链接:[url=//download.csdn.net/download/u012922417/8870461?utm_source=bbsseo]//download.csdn.net/download/u012922417/8870461?utm_source=bbsseo[/url]
learning-Extjs国外第一本Ext译本下载
learning-Extjs国外第一本Ext译本 相关下载链接:[url=//download.csdn.net/download/yangxu2009/2158112?utm_source=bbsseo]//download.csdn.net/download/yangxu2009/2158112?utm_source=bbsseo[/url]
Linux 文件系统下载
Linux 文件系统详解 相关下载链接:[url=//download.csdn.net/download/shuihanyouyou/2446859?utm_source=bbsseo]//download.csdn.net/download/shuihanyouyou/2446859?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 数据库已选课程查询 数据库已选课程查询
我们是很有底线的