0
我正在使用C#開發摩托羅拉設備「MC67」,我在初始化掃描儀時遇到了問題。Motorolla設備掃描問題
我使用的代碼似乎是通用的,因爲我在互聯網上發現了類似的例子;參考這裏是導致我的問題代碼:
/// <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「
現在奇怪的是我能夠正確地在設備上使用掃描儀,所以我可以掃描條形碼並讀取數據前ception,但它發生的事實關係到我,所以我試圖阻止它。
有沒有人有任何想法,爲什麼我得到異常或任何建議我可以嘗試?
這似乎與我所看到的是一樣的;是的,我可以取消勾選勾選框並且不再拋出異常,但我不喜歡它確實發生如此理想的事實,我想阻止它發生。 – plingingo