在VB.NET WinForms项目中,我得到一个例外
无法访问已处置的对象
关闭表格时.它很少发生,我无法按需重新创建它.堆栈跟踪如下所示:
Cannot access a disposed object. Object name: 'dbiSchedule'.
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.PointToScreen(Point p)
at Dbi.WinControl.Schedule.dbiSchedule.a(Boolean A_0)
at Dbi.WinControl.Schedule.dbiSchedule.a(Object A_0, EventArgs A_1)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Run Code Online (Sandbox Code Playgroud)
dbiSchedule是Dbi-tech的日程控制.表单上有一个计时器,每隔几分钟就会在屏幕上更新计划.
是什么原因导致异常以及如何修复它?或者甚至只是能够按需重新创建它?
HEJ!感谢所有的答案.我们确实在FormClosing事件上停止了Timer,我们确实检查了调度组件上的IsDisposed属性,然后在Timer Tick事件中使用它,但它没有帮助.
这是一个非常烦人的问题,因为如果有人确实提出了一个有效的解决方案 - 我将无法确认解决方案,因为我无法手动重新创建问题.
在更好的SQL Server数据库的SSW规则中,有一个完整的数据库维护计划的例子:SSW.在示例中,它们既运行重组索引,又运行重建索引,然后运行更新统计信息.这有什么意义吗?我认为重组指数是一个快速但不太有效的重建指数版本?并且索引重建也会自动更新统计信息(至少在聚簇索引上).
我可以创建一个Access mdb并通过ODBC将链接表添加到Sql Server数据库.如果我使用ODBC控制面板小程序更改ODBC连接的Sql Server,则mdb仍会连接到原始Sql Server,直到重新启动Access.
有没有办法重新链接这些链接的服务器表而不重新启动Access?
编辑:我想在代码中这样做
想象一下,您销售的应用程序将其数据存储在Microsoft Sql Server数据库中.一些客户是拥有现有Sql安装和员工维护的大型公司.其他客户是通过安装程序安装SQLEXPRESS版本的小公司.
数据库很快将包含许多重要数据,需要备份.这是谁的责任?
应用程序是否应包含用于备份数据库的UI,并在未运行备份时发出警告?
或者应用程序是否应该在其文档中包含备份说明?
或者这是客户解决而不是程序员的问题?
我们的网站上有一些文件,我们的软件用户可以下载.一些文件位于网站上的虚拟文件夹中,而其他文件位于我们的ftp上.通常通过在浏览器中单击ftp://链接来访问ftp上的文件 - 我们的大多数客户都没有ftp客户端.通过单击浏览器中的http://链接可以访问其他文件.
我应该将所有文件移动到ftp吗?或者没关系?有什么不同?