在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事件中使用它,但它没有帮助.
这是一个非常烦人的问题,因为如果有人确实提出了一个有效的解决方案 - 我将无法确认解决方案,因为我无法手动重新创建问题.
我写了一个基于Excel的数据库报告工具.Currentely,所有VBA代码都与一个XLS文件相关联.用户通过单击工具栏上的按钮生成报告.不幸的是,除非用户将文件保存在另一个文件名下,否则所有报告的数据都将被清除.
当我在Word中创建类似的工具时,我可以将所有代码放在模板(.dot)文件中并从那里调用它.如果我将模板文件放在Office启动文件夹中,它将在每次启动Word时启动.是否有类似的方法,在Excel中打包和分发我的代码?我尝试过使用加载项,但是我找不到从应用程序窗口调用代码的方法.
好的,这是场景.我有一个处理大量记录的实用程序,并相应地将信息输入数据库.
它适用于多线程批处理中的这些记录.每个这样的批处理都写入相同的日志文件,以便为每条记录创建工作流程跟踪.潜在地,我们可能在一天内完成接近一百万次的日志写入.
该日志是否应该驻留在另一台服务器上的数据库中?注意事项:
是否可以对这两种方法进行任何优化?
谢谢.
我有几行PowerShell代码,我想将其用作自动脚本.我希望它能够工作的方式是能够使用以下选项之一调用它:
我一直在线阅读PowerShell文档,虽然我可以找到很多脚本,但我一直无法找到如何做我需要的说明.谢谢您的帮助.
假设我在C中创建一个需要使用临时文件的程序.在/ tmp中创建临时临时文件可能不是一个好主意.是否有函数或OS调用为我提供临时文件名,以便我可以开始写入和读取它?
我正在开发一个WinForms应用程序(.Net 3.5,没有WPF),我希望能够在数据绑定DataGridView中显示外键查找.
这种关系的一个例子是我有一个OrderLines表.订单行与产品和产品具有外键关系,而产品和产品又与ProductTypes具有外键关系.
我想要一个数据绑定DataGridView,其中每一行代表一个订单行,显示该行的产品和产品类型.
用户可以直接向网格添加或编辑订单行,并从comboBoxColumn中为订单行选择产品 - 然后应该在同一行中更新producttype列,显示所选产品的产品类型.
到目前为止,我发现的最接近的一个很好的拟合是引入一个表示订单行的域对象,然后将DataGridView绑定到这些订单行的集合.然后,我将属性添加到公开产品和产品类型的订单行对象,并引发相关的notifypropertychanged事件以使所有内容保持最新.在我的订单行存储库中,我可以将此订单行对象与数据库中的三个表之间的映射连接起来.
这适用于数据绑定方面,但必须手动编写存储库中所有OR映射的代码似乎很糟糕.我认为nHibernate能够帮助完成这个连接但是我正在努力通过所有外键的映射 - 它们似乎工作正常(外键查找订单行的产品根据外键创建正确的产品对象)直到我尝试进行数据绑定,我无法获取数据绑定id列来更新我的产品或producttype对象.
我的一般方法是否在正确的球场?如果是,那么映射问题的解决方案是什么?
或者,是否有更好的数据绑定行解决方案,包括我甚至没有考虑过的外键查找?
我需要专门捕获SQL服务器超时异常,以便可以不同方式处理它们.我知道我可以捕获SqlException,然后检查消息字符串是否包含"超时",但是想知道是否有更好的方法来做到这一点?
try
{
//some code
}
catch (SqlException ex)
{
if (ex.Message.Contains("Timeout"))
{
//handle timeout
}
else
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud) 我在两个不同的域中有两台机器.我都安装了VS 2005.我想在它们之间进行远程调试.没有身份验证,这是可能的,但我想调试托管代码.我不想直接调试,因为它真的很糟糕.
当我尝试使用调试器附加时,我收到消息"此工作站与主域之间的信任关系失败".知道怎么克服这个吗?我试过在两台机器上添加相同的本地用户名,但没有运气.
编辑:我在两台机器上都有相同的本地用户.我使用本地用户启动了使用RunAs的VS2005和调试监视器.我在调试机器上打开了Windows审核,我看到VS2005机器的本地用户正在尝试登录.但他失败了,错误0xC000018D(ERROR_TRUSTED_RELATIONSHIP_FAILURE)
如果我想发布.net程序集但希望将其内部详细信息保存在私有清单(来自实用程序,如ildasm.exe),我该怎么办?
.net ×4
c# ×2
winforms ×2
arm ×1
audio ×1
c ×1
command-line ×1
debugging ×1
excel ×1
excel-vba ×1
linux ×1
logging ×1
managed-code ×1
obfuscation ×1
powershell ×1
scripting ×1
security ×1
sql-server ×1
synthesizer ×1
vb.net ×1
vba ×1