问题列表 - 第242页

无法访问已处置的对象 - 如何修复?

在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事件中使用它,但它没有帮助.

这是一个非常烦人的问题,因为如果有人确实提出了一个有效的解决方案 - 我将无法确认解决方案,因为我无法手动重新创建问题.

.net vb.net winforms

37
推荐指数
2
解决办法
18万
查看次数

打包和分发Excel应用程序的最佳方法是什么

我写了一个基于Excel的数据库报告工具.Currentely,所有VBA代码都与一个XLS文件相关联.用户通过单击工具栏上的按钮生成报告.不幸的是,除非用户将文件保存在另一个文件名下,否则所有报告的数据都将被清除.

当我在Word中创建类似的工具时,我可以将所有代码放在模板(.dot)文件中并从那里调用它.如果我将模板文件放在Office启动文件夹中,它将在每次启动Word时启动.是否有类似的方法,在Excel中打包和分发我的代码?我尝试过使用加载项,但是我找不到从应用程序窗口调用代码的方法.

excel vba excel-vba office-addins

3
推荐指数
1
解决办法
1万
查看次数

哪种方法更适合日志记录 - 文件或数据库?

好的,这是场景.我有一个处理大量记录的实用程序,并相应地将信息输入数据库.

它适用于多线程批处理中的这些记录.每个这样的批处理都写入相同的日志文件,以便为每条记录创建工作流程跟踪.潜在地,我们可能在一天内完成接近一百万次的日志写入.

该日志是否应该驻留在另一台服务器上的数据库中?注意事项:

  1. 多线程写入同一日志文件的明显缺点是日志消息在彼此之间混洗.在数据库中,可以按批次ID对它们进行分组.
  2. 性能 - 这会减慢批处理的速度吗?写入本地文件或将日志数据发送到同一网络上另一台服务器上的数据库.从理论上讲,日志文件更快,但这里有问题吗?

是否可以对这两种方法进行任何优化?

谢谢.

logging multithreading

7
推荐指数
2
解决办法
544
查看次数

设置PowerShell脚本以执行自动执行

我有几行PowerShell代码,我想将其用作自动脚本.我希望它能够工作的方式是能够使用以下选项之一调用它:

  1. 一个打开PowerShell的命令行,执行脚本并关闭PowerShell(这将用于全局构建例程)
  2. 我可以双击以运行上面的文件(我会在手动测试构建过程的组件时使用此方法)

我一直在线阅读PowerShell文档,虽然我可以找到很多脚本,但我一直无法找到如何做我需要的说明.谢谢您的帮助.

powershell scripting command-line

16
推荐指数
3
解决办法
5万
查看次数

如何获取在Linux中使用的临时文件的文件名?

假设我在C中创建一个需要使用临时文件的程序.在/ tmp中创建临时临时文件可能不是一个好主意.是否有函数或OS调用为我提供临时文件名,以便我可以开始写入和读取它?

c linux

9
推荐指数
2
解决办法
8505
查看次数

WinForms数据绑定和外键关系

我正在开发一个WinForms应用程序(.Net 3.5,没有WPF),我希望能够在数据绑定DataGridView中显示外键查找.

这种关系的一个例子是我有一个OrderLines表.订单行与产品和产品具有外键关系,而产品和产品又与ProductTypes具有外键关系.

我想要一个数据绑定DataGridView,其中每一行代表一个订单行,显示该行的产品和产品类型.

用户可以直接向网格添加或编辑订单行,并从comboBoxColumn中为订单行选择产品 - 然后应该在同一行中更新producttype列,显示所选产品的产品类型.

到目前为止,我发现的最接近的一个很好的拟合是引入一个表示订单行的域对象,然后将DataGridView绑定到这些订单行的集合.然后,我将属性添加到公开产品和产品类型的订单行对象,并引发相关的notifypropertychanged事件以使所有内容保持最新.在我的订单行存储库中,我可以将此订单行对象与数据库中的三个表之间的映射连接起来.

这适用于数据绑定方面,但必须手动编写存储库中所有OR映射的代码似乎很糟糕.我认为nHibernate能够帮助完成这个连接但是我正在努力通过所有外键的映射 - 它们似乎工作正常(外键查找订单行的产品根据外键创建正确的产品对象)直到我尝试进行数据绑定,我无法获取数据绑定id列来更新我的产品或producttype对象.

我的一般方法是否在正确的球场?如果是,那么映射问题的解决方案是什么?

或者,是否有更好的数据绑定行解决方案,包括我甚至没有考虑过的外键查找?

.net c# winforms

6
推荐指数
1
解决办法
4369
查看次数

如何捕获SQLServer超时异常

我需要专门捕获SQL服务器超时异常,以便可以不同方式处理它们.我知道我可以捕获SqlException,然后检查消息字符串是否包含"超时",但是想知道是否有更好的方法来做到这一点?

try
{
    //some code
}
catch (SqlException ex)
{

    if (ex.Message.Contains("Timeout"))
    {
         //handle timeout
    }
    else
    {
         throw;
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server error-handling

112
推荐指数
3
解决办法
9万
查看次数

免费波表合成器?

我需要在 ARM Cortex-M3 内核中实现波表合成器。我正在寻找任何代码或工具来帮助我入门。

我知道这个 AVR 实现。我实际上不久前将其转换为 PIC。现在我正在寻找类似的东西,但听起来更好一点。

ANSI C 代码会很棒。任何代码片段(C 或 C++)、示例、工具或只是一般信息将不胜感激。

谢谢。

audio microcontroller arm synthesizer sound-synthesis

2
推荐指数
1
解决办法
4740
查看次数

跨域远程调试

我在两个不同的域中有两台机器.我都安装了VS 2005.我想在它们之间进行远程调试.没有身份验证,这是可能的,但我想调试托管代码.我不想直接调试,因为它真的很糟糕.

当我尝试使用调试器附加时,我收到消息"此工作站与主域之间的信任关系失败".知道怎么克服这个吗?我试过在两台机器上添加相同的本地用户名,但没有运气.

编辑:我在两台机器上都有相同的本地用户.我使用本地用户启动了使用RunAs的VS2005和调试监视器.我在调试机器上打开了Windows审核,我看到VS2005机器的本地用户正在尝试登录.但他失败了,错误0xC000018D(ERROR_TRUSTED_RELATIONSHIP_FAILURE)

debugging managed-code visual-studio

4
推荐指数
1
解决办法
2161
查看次数

如何将.net程序集的清单设为私有?

如果我想发布.net程序集但希望将其内部详细信息保存在私有清单(来自实用程序,如ildasm.exe),我该怎么办?

.net security obfuscation

3
推荐指数
1
解决办法
592
查看次数