我正在修复现有 C# 项目中的一些错误。我使用 Visual Studio 2008 和 3.5 .NET Framework。
该应用程序使用表单,并且应用程序的生命周期正常运行。我还没有做任何改变,但是客户最近开始经历奇怪的行为。第一次使用该应用程序可以没有问题,但是如果关闭一个表单并打开另一个表单,则该表单中的对象将被释放。该代码适用于 PDA,我们有一个用于扫描的事件处理程序。我认为这很奇怪,因为代码没有任何改变。也许这是一些框架错误?
我试图完全消除 Closing 事件上的事件处理程序,但发生了同样的错误。改变表格的处理方式。
表单创建
FormTEntreUbicaciones form = new FormTEntreUbicaciones(Movements.TREntreUbicaciones);
form.ShowDialog();
form.Dispose();
活动创建
if (Device.GetOSType2() == Device.OSType.WinMobile){
hDcd = new DecodeHandle(DecodeDeviceCap.Exists | DecodeDeviceCap.Barcode);
DecodeRequest reqType = (DecodeRequest)1 | DecodeRequest.PostRecurring;
dcdEvent = new DecodeEvent(hDcd, reqType, this);
dcdEvent.Scanned += new DecodeScanned(dcdEvent_Scanned);
}
表格应该是打开的,并且其中的所有对象都不应被丢弃
例外:
System.ObjectDisposedException was unhandled
Message="ObjectDisposedException"
ObjectName=""
StackTrace:
at System.Windows.Forms.Control.InvokeHelper(Delegate method, Boolean fSynchronous, Object[] rgobjArgs)
at System.Windows.Forms.Control.Invoke(Delegate method)
at Datalogic.API.DecodeEvent.WaitForScan()
有什么建议么?谢谢!
慕桂英546537
相关分类