我正在使用C#开发摩托罗拉设备“MC67”,我在初始化扫描仪时遇到了问题。
我使用的代码似乎是通用的,因为我在整个互联网上找到了类似的例子;这里引用的代码是导致我问题的代码:
/// <summary>
/// Initialize the reader.
/// </summary>
///
public override bool InitReader()
{
Logger.Instance.Debug("InitReader");
bool result = false;
// Logger.Instance.AddToDebuggerLog("Symbol.InitReader");
// If reader is already present then fail initialize
if (this._MyReader != null)
{
return false;
}
try
{
// Create new reader, first available reader will be used.
this._MyReader = new Symbol.Barcode.Reader();
// Create reader data
this._MyReaderData = new Symbol.Barcode.ReaderData(
Symbol.Barcode.ReaderDataTypes.Text,
Symbol.Barcode.ReaderDataLengths.MaximumLabel);
// Enable reader, with wait cursor
this._MyReader.Actions.Enable();
if ((GetDeviceType() != DeviceTypes.SymbolMC3070) && (GetDeviceType() != DeviceTypes.SymbolMC3090BT))
{
this._MyReader.Parameters.Feedback.Success.BeepTime = 0;
}
else
{
this._MyReader.Parameters.Feedback.Success.BeepTime = 50;
}
SetScannerDecoderTypeToUseWithScanSys();
result = true;
}
catch (Exception ex)
{
// Something has gone wrong Initializing barcode reader etc
// Log Exception
Logger.Instance.Exception("InitReader", ex);
// Ensure reader is Disposed
if (_MyReader != null)
{
try
{
_MyReader.Dispose();
}
catch
{
// Just incase something goes wrong
Logger.Instance.Error("Error Disposing MyReader in InitReader Exception");
}
_MyReader = null;
}
// Ensure ReaderData is Disposed
if (_MyReaderData != null)
{
try
{
_MyReaderData.Dispose();
}
catch
{
// Just incase something goes wrong
Logger.Instance.Error("Error Disposing MyReaderData in InitReader Exception");
}
_MyReaderData = null;
}
// null the EventHandler
_MyEventHandler = null;
}
return result;
}
我的问题是,当调用上面的方法时,以下行会产生异常错误:
this._MyReader.Actions.Enable();
异常是“OperationFailureException”,错误消息提到“获取所有支持的属性失败:E_SCN_INVALIDIOCTRL”
现在奇怪的是我能够在设备上正确使用扫描仪,所以我可以扫描条形码并读取数据,即使有这个例外,但它发生的事实让我担心,所以我试图阻止它
有没有人知道为什么我会收到异常或我可以尝试的任何建议?
答案 0 :(得分:0)
这是一个&#34;处理&#34;符号库中的异常。只需关闭抛出异常的断点 - Ctrl-Alt-E,在行&#34; Common Language Runtime Exceptions&#34;取消选中&#34; Thrown&#34;下的框。不幸的是,如果您正在尝试调试一个无法正常工作的异常,那么每次出现此异常时您都必须继续按下播放。
我还没有办法让它停止抛出异常但是......我真的希望能够关闭任何失败的功能。