问题标签 [motorola-emdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
831 浏览

compact-framework - 摩托罗拉 EMDK - 可以为 I2OF5 提供多组解码器参数吗?

我正在开发一个需要能够扫描多种长度/类型的 I2of5 条码的应用程序。较长的条形码为 14 位长,较短的条形码为 4 或 10 位。

我设置了 I2OF5 解码器的参数以允许这样做:

我在使用扫描仪解码较长条形码的部分扫描时遇到问题。将 Min 和 Max 设置为 14 可以解决此问题,但不再允许扫描较短的条形码。

14 位条形码使用 USS 校验位。如果我在 I2of5 参数中打开 USS 校验位方案,它可以解决问题,因为部分扫描几乎永远不会有正确的校验位。但 10 位和 4 位条码不使用校验位,因此不再扫描。

有没有办法拥有一组以上的 I2of5 参数?然后我可以创建一个最小和最大长度为 14 且 USS 开启,另一个最小和最大长度为 10 且 USS 关闭,第三个最小和最大长度为 4,USS 也关闭。

我相信 Intermec API 允许这样做,具有多组活动参数,但在摩托罗拉 EMDK 中找不到方法。我正在使用 .Net EMDK 2.7。

0 投票
1 回答
1319 浏览

multithreading - Motorola EMDK - 使用 Barcode2 ScanBufferStart 和 ScanBufferStop 的线程阻塞问题

我在摩托罗拉 EMDK 2.7 中使用 Symbol.Barcode2 对象。我正在使用异步缓冲扫描模式。下面是一些示例代码,它为每个扫描事件附加一个要调用的委托,然后以异步缓冲模式启动扫描器:

要停止扫描仪,我调用 ScanBufferStop 方法:

我在两种情况下使用 ScanBufferStop:

首先,在处理数据时,我想停止扫描仪并提醒用户。例子:

其次,当应用程序关闭时。

我的问题是,当调用 ScanBufferStop 时,应用程序会冻结。调试和检查调用堆栈显示在 Symbol.Barcode2.Barcode2.ScanBufferStop() 中有一个对 WaitOne() 的调用:

我还可以看到 Symbol 对象正在创建其他线程。我认为发生了什么是 ScanBufferStop() 正在检查另一个线程是否正在访问 Barcode2 对象,如果是,则调用 WaitOne。但是当我从委托中的同一个线程调用它时,会导致死锁情况。

通过创建我自己的从委托调用 ScannBufferStop 的新线程,我能够在第一个场景中绕过它:

但是当应用程序退出时,我仍然遇到死锁问题。我尝试使用从不同线程调用 ScanBufferStop 的相同技术,但它仍然以一个线程挂起并调用 WaitOne() 结束。

我也试过调用 System.Threading.Thread.Sleep(0); 但这并没有帮助。

是否有人对缓冲扫描模式有类似的经验,或者可能有解决方案的一般线程/锁定问题?

谢谢

0 投票
1 回答
1430 浏览

c# - 如何使用 emdk 读取特殊符号

我使用 .net 的摩托罗拉 EMDK sdk 来读取条形码,除了(符号和)符号外一切正常。

http://goo.gl/7JkuYX

http://goo.gl/1w0vRi

请在下面查看我的代码:

0 投票
2 回答
1977 浏览

windows-ce - 无法从 Windows CE 6.0 设备访问 Windows Server 2003 上的 SMB 共享

我正在尝试使用 FileStream 将文件写入 SMB 共享。每当我尝试这样做时,我都会收到一个登录对话框,询问用户名、密码和域。我输入这些详细信息并单击“确定”,但它又出现了。我输入了我知道有权访问的另一个用户的详细信息。也会发生同样的情况。第三次尝试后,我的应用程序弹出 IOException 并中断。

我知道我使用的凭据是正确的……但有些东西没有按应有的方式工作。

我的设备是摩托罗拉 MC3190。

任何建议都非常感谢!

0 投票
3 回答
3742 浏览

c# - 带有符号扫描仪 dll 的 Windows Mobile 应用程序在关闭应用程序时崩溃

我有一个问题,我想不出一个解决方案。它关于我在 wm 6.5 和 Compact Framework 2.0 上的摩托罗拉 MC3190-G 手持应用程序上的应用程序

在实施用于在我的应用程序中使用扫描仪触发器的符号包后,每次关闭我的应用程序/或启用了扫描仪的表单时都会收到以下错误:(即使我从未收到扫描数据)

我在 stackoverflow 和其他没有解决方案的网站上搜索了解决方案。

我是移动应用程序开发的新手。我尝试捕获所有内容,但异常类型“异常”似乎无法捕获错误。

对不起英语不好。

错误:

空引用异常

在 MainForm.SymbolReader_ReadNotifiy()

Task.Invoke()

System.Windows.Forms.Control._InvokeAll()

System.Windows.Forms.Control.WinProc()

信息:

摩托罗拉 EMDK 2.6 设备:MC3190-G

源代码:

扫描仪.cs

MainForm.cs 内部

任何帮助,将不胜感激!

0 投票
1 回答
2421 浏览

c# - 摩托罗拉 EMDK:如何停止扫描状态变化的数据?

背景:

我正在使用适用于 .NET 的 Motorola EMDK v2.5 从 MC 919Z 手持式扫描仪获取 rfid 扫描数据。只要用户按下设备上的按钮,我就想继续获取 rfid 标签数据。一旦他的手指从按钮上移开,我就想停止读取 RFID 数据。

我正在使用的 eMDK 事件:

现在摩托罗拉曝光了两个事件:

  • StatusNotify :在按钮状态(按下或未按下)更改时触发的事件。
  • ReadNotify :为读取 rfid 标签而触发的事件。

问题:

这两个事件似乎是先发制人,以免被触发。如果正在读取标签,则不会触发按钮状态更改事件。如果按钮状态更改事件正在触发,则不会读取标签。

所以,问题是如何确保两个事件同时触发。

0 投票
2 回答
4092 浏览

.net - 如何访问 RFID 标签中的 EPC 和 USER 内存库(摩托罗拉 EMDK + .NET)

我们正在为使用 RFID 标签和摩托罗拉 919Z 手持阅读器的客户开发定制的固定资产解决方案。到目前为止,它进展顺利,因为我们基于摩托罗拉的 EMDK 示例。我们正在使用 VB.NET。

问题是,我们有一组 Confidex Steelwave 标签,由于它们是硬标签,因此无法在打印机中进行标记,因此使用示例软件对它们进行了标记,将相关数据保存到 USER 内存库中,而另一组不同的可打印Confidex 标签使用 Zebra RZ400 打印机进行标记,相关数据写入 EPC Tag ID 字段。

现在,我们被要求同时读取两个字段(一种情况下是 EPC 标签 ID,另一种情况下是 USER 内存库)。也就是说,如果相关数据被标记在 USER 内存库中,则标签 ID 包含不相关的十六进制数字,如果使用了 EPC 标签 ID,则 USER 内存库为空白或填充零。

现在,如果用户不停止读取和切换库(在软件中),我们无法找到同时读取两个库的方法,所以我们想知道它是否可能首先出现。

我不确定我是否应该发布代码,因为它有点长......也许相关部分是:

如果我们使用 Inventory.Perform ...它不会读取 USER 内存库,而且它似乎没有使用访问过滤器

如果我们使用 OperationSequence.PerformSequence ...它会强制您指定内存库。

谢谢你的时间。

0 投票
1 回答
5506 浏览

c# - Windows ce 应用程序中的条码扫描器问题

我正在开发一个应用程序来控制我公司的食堂消费。基本上每个员工都有一个带有条形码的徽章 ID,他们每天都有权免费用餐。该应用程序将扫描徽章并记录每位员工的用餐情况。它将在具有集成扫描仪并在 Windows CE 上运行的摩托罗拉 MK4000 设备上运行。

我的设备扫描仪有问题。我可以让它运行并正常扫描,但如果它保持空闲几分钟,它会进入“等待”状态,激光关闭,并且不会重新打开。我已经尝试监视状态并在它更改为该状态时开始新的读取,但它只是无限期地继续扫描错误读取。

你们能帮我弄清楚我做错了什么吗?

这是我用于扫描仪功能的类。它不是由我开发的,但它开始用于同一设备上的其他应用程序(我对其进行了一些更改,主要是在错误消息上)。

这是实际表单的代码:

请注意,这仍在进行中,因此缺少一些功能,但我希望在继续之前让扫描仪正常工作。任何帮助将不胜感激,谢谢。

0 投票
1 回答
547 浏览

c# - 如何在摩托罗拉 MT2090 上启用免提模式?

我有一个摩托罗拉 MT2090 条码扫描器,它运行一个自定义的 .net 应用程序,通过扣动扳机,它可以作为手持扫描器正常工作。我正在尝试使用 Motorolla Intellistand 启用免提模式,并在条形码滑入扫描仪下方时保持扫描仪开启。根据用户手册:

当您将设备插入支架的“杯子”时,设备的内置传感器会将设备置于演示(免提)模式。

但这不会发生在我身上。扫描仪保持关闭状态,您仍然必须使用触发器。我正在使用 Symbol.MT2000 库,但我在 API 中找不到任何关于以编程方式启用免提模式的内容。我也看不到任何启用扫描仪的方法(就像触发器一样)我只能捕获事件。有没有人碰巧知道如何为其中之一启用免提模式?

0 投票
1 回答
1418 浏览

c# - 如何为摩托罗拉 mc70 设备创建应用程序?

我是这个领域的新手。我有一个摩托罗拉 mc70 设备。我想为它创建一个应用程序,在该应用程序中设备扫描条形码,然后将条形码数据放入我的 sql server 数据库中。我曾在 Visual Studio 2010 工作过。现在我有一个摩托罗拉扫描仪 sdk 和用户指南。但我不知道如何为这些类型的设备创建应用程序。我曾在 c# 中工作过,所以我很熟悉它,并且我正在使用 sql server 数据库。我不知道从哪里开始??我应该制作控制台应用程序还是其他类型的应用程序。任何人都可以帮助解决这个问题并提供为此设备创建应用程序的程序...在此先感谢...