问题标签 [compact-framework2.0]
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.
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 内部
任何帮助,将不胜感激!
vb.net - CreateMsgQueue 失败并出现 Win32Error -2147467259
我重新创建了一些OpenNetCF组件,例如PowerManagement和DeviceStatusMonitor。但由于他们从未提出任何事件,我怀疑有些地方出了问题。我的第一个想法是检查它们都依赖的P2PMessageQueue 。然后 BAM,CreateMsgQueue返回IntPtr.Zero。检查最后一个 Win32Error 会给我一个错误代码,值为 -2147467259(减号)。
这只是另一个不提供任何提示的通用错误代码吗?
任何帮助,将不胜感激。
(仅供参考:WinCE 5.0,CF 2.0)
.net - WM_MOUSEMOVE LParam 低位溢出
当我在 WndProc 中收到WM_MOUSEMOVE消息时,lParam 包含光标坐标。我将此参数转换为Point
结构:
我的问题是,当光标的 x 坐标变为负数时,LOWORD 函数会因溢出异常而失败。根据 MSDN,您应该使用GET_X_LPARAM和GET_Y_LPARAM宏,而不是 HI/LO WORD 宏。但是在 vb.net 中没有这样的功能。
那么该怎么办?
c# - 使用 WindowsCE 的handyTerminal 设备中的软重置
WindowsCE Handydevice 中的软复位。
c# - StreamWriter 无法识别紧凑 .net 2.0 中的 c:\
我有以下代码
在哪里newFileName = @"C:\asln.csv"
此代码在 .Net Framework 2.0 上运行良好,但在 Compact 2.0 上却惨遭失败。
它抛出一个错误"Could not find a part of the path '\\C:\\asln.csv'."
因此,由于某种原因,路径与\\
.
如何解决这个问题?
c# - Compact Framework 2.0 不支持 File.Move 然后 Delete?
以下代码在第二次 Delete 调用时崩溃。
"The process can not access the file '\\asld.csv' because it is being used by another process."
所以这就像File.Move(curFileName, delFileName)
导致文件上的锁定(或其他东西)并且之后不会释放它。
注意:我正在使用由 Visual Studio 2008 模拟的智能设备。
httpwebrequest - 我需要什么 uri 模式从我的手持设备与我的 PC 进行通信?
正如我在这里被提醒的那样,我可能需要使用“ppp_peer”以编程方式从我的 Compact Framework 应用程序连接到我的 PC 上运行的 Web API 应用程序。
我试过这个(用“ppp_peer”替换IPAddress):
...但我在“Main”中得到“ NullReferenceException ”(在此之前我得到“无法连接到远程服务器”)。
我在服务器代码中有一个断点,但它没有到达那个断点,所以它必须在客户端中发生这种情况的某个地方。
上下文中的客户端代码是:
除了ppp_peer 之外,我还需要一个 IPAddress ,还是我的 URI 格式错误,或者...???
更新
在“NRE”之后我还看到,“”......遇到严重错误,必须关闭“
我从上面更改了代码,以查看 ppp_peer 被翻译为:
MessageBox 调用显示“192.168.55.100”,这与我认为我的 PC 的 IPAddress 不同......???
我也一样:
更新 2
改用它(我从这里得到它[通过 ActiveSync 连接时从 Windows Mobile 获取主机 pc 的 IP 地址):
...显示的 IP 地址是“一个向上”(192.168.55.101),而不是 NRE,我得到:
消息:无法连接到远程服务器;状态:连接失败;内部示例:System.Net.Sockets.SocketException:无法建立连接,因为目标机器在 System.Net.Sockets.SocketConnectNoCheck(EndPoint remoteEP) ...
所以看来我在客户端尽我所能,服务器听到敲门声,但没有开门——对吗?
顺便说一句,出于好奇,我还添加了以下代码:
...我看到“ WindowsCE ”
更新 3
根据Andy Wiggly(编写“MS .NET Compact Framework”的猫/家伙)的这篇文章,您确实使用了“ppp_peer”:
最有趣的是缺少端口分配(“:28642”或其他);然而,这种风格也给了我一个 NRE(是的,有点像 Null Ready to Eat)。
更新 4
那么从手持设备访问主机需要什么uri呢?
我已经尝试了来自客户端/紧凑框架应用程序的所有以下排列,但没有一个工作:
该错误发生在该客户端代码中的某处(无法单步执行,所以我不知道确切的位置),因为我在显示的最后一行有一个断点,并且永远无法到达。
服务器(Web API)代码:
我在 DownloadNewerVersionOfHHSetup() 中添加了一些调试行,现在它看起来像这样:
我从来没有看到“#3”,所以它一定是调用 GetResponse() 内部的一个问题,但我怎样才能找出到底是什么?我得到 NRE,然后“ ...遇到严重错误,必须关闭”
这是它尝试调用服务器的地方,但如前所述,它永远不会到达被调用的服务器方法......
更新 5
事实证明,这现在有效:
...它这样做的主要原因是因为我的路由属性(GetUpdatedHHSetup)与我从客户端调用的属性(GetHHSetupUpdate)不匹配。一旦我对齐了这些行星,NRE 就消失了,我得到了预期的结果。
c# - 为什么我的 WebRequest/HttpWebRequest 对象有时需要强制转换而其他时候不需要?
我从 Andy Wiggly 的帖子中改编了这段代码(他不仅仅是“某个人”——他为 MS Press 共同编写了“MS .NET Compact Framework”):
请注意,在第一段代码中,我必须将“请求”转换为 HttpWebRequest;但是,在有条件的情况下,强制转换是不必要的。为什么有区别?“WebRequest”应该改为“HttpWebRequest”吗?如果我这样做,则强制转换为灰色,表明它是不必要的,但 Wiggly 这样做肯定是有原因的,而且仍然:为什么在条件块中消除了强制转换?
c# - 请求提交后哪些操作不能执行?
我成功地在手持设备(Compacted Framework/Windows CE)和现代(不是 Windows 8 中的“现代”,而是 21 世纪)服务器应用程序(Web API)之间传递数据。但是,在(成功)传递数据后,客户端失败并显示 err msg,“ This operation cannot be executed after the request has been submit ”
它在抱怨哪个操作?这是我的客户代码:
可能是以下代码:
...是不必要的,但我显然还没有到达那里,因为我从来没有看到那个消息;我只是看到了前面提到的错误,然后“ Error An unexpected error has occurred in Bla.exe Select Quite 然后重新启动这个程序,或者选择Details了解更多信息。 ”
详细信息是:“ System.Threading.WaitHandle.CheckResultInternal(Boolean r) at ...(etc.) 处的错误 Bla.exe ObjectDisposedException ”
然后,“ Application Bla.exe 遇到严重错误,必须关闭。 ”
那么跳闸是怎么回事?
更新
我不明白leadthumb 对这个问题的回答。
关于这一切的另一个奇怪的事情是,即使我“遇到了一个严重的错误”,它似乎并不像其他时候手持应用程序崩溃那么严重,在这种情况下,我必须经常热启动设备和/或在将新版本的 .exe 复制到旧版本之前,将设备重新安装在底座中。但是,这个“严重”错误并没有发生这种情况。
我简化了代码,使其不再返回 HttpWebResponse,但我仍然得到相同的结果。然而,我想要发生的事情很好:数据被发送到服务器应用程序,它成功地从传递的数据重新创建了一个 XML 文件,然后通过插入基于传递的值的新记录来更新数据库。
这是新的简化代码:
更新 2
如果我以这种方式捕获并忽略异常:
...我可以毫无意外地运行该方法;但是,当我关闭应用程序时,我收到“Bla.exe 中发生意外错误。选择退出,然后重新启动此程序,或选择详细信息以获取更多信息。”
更新 3
建议的替换代码给了我,“不能隐式地将类型 'byte[]' 转换为 'long' ”
将其更改为:
...给我,“无法将类型 'byte[]' 转换为 'long' ”
所以它不能被 im- 或显式转换为 long ......然后......???
更新 4
好的, arrData.Length 有效。
c# - 我需要做什么才能让这段代码在可移植类库中工作?
我想知道 Portable Class Library 在功能上是否比 Compact Framework 更受限制。
我正在尝试将 CF/Windows CE 应用程序(在手持设备上运行)移植到 Xamarin 解决方案,该解决方案将针对 Android、iOS、Windows Phone 以及可能的其他东西。
不过,我遇到的问题之一是这个遗留代码(在 CF 下工作):
...不会在 Xamarin/CPL 解决方案中编译。我得到,“名称'目录'在当前上下文中不存在”并且右键单击该单词不会提供“解决”选项。
有没有办法让 PCL 识别“目录”或者我必须完全重写代码?如果是后者,是否有人对代替它做什么/使用有什么建议?
相关地,是否有一个 URL 可以向我显示 PCL 中[不] 可用的内容和/或显示提供的代码块中有多少是“PCL-ready”的?
更新
这篇文章中的第一张图片很有启发性。稍后,它专门讨论了“目录”在 PCL 场景中不可用。
更新 2
我下载了下面 Daniel Plaisted 引用的 PCLStorage 包,以允许我访问 PCL 项目中的文件系统。
使用下载页面 [http://pclstorage.codeplex.com/] 开头的示例代码作为起点,我已经做到了这一点:
...但是“EXTENSION”作为 GetFilesAsync() 的 arg 是不正确的。我明白了,“参数 1:无法从 'string' 转换为 'System.Threading.CancellationToken' ”
那么我需要做些什么来获取文件夹中的所有 *.XML 文件?
更新 3
这可以编译,但我完全不确定这是不是正确的方法,除了它只是从文件夹中获取所有文件,而不仅仅是那些匹配“* .XML”的文件: