2015-11-17 21 views
0

我正在开发具有打印机的Windows CE 5设备。我有一个正在运行的VB.Net(压缩)程序,并且没有任何问题与设备的打印机库在那里交互。但是用C#编写的程序,在设备处于待机模式一段时间后,我得到了PInvoke错误。我设法通过从设备的Windows文件夹复制.dll文件并将其粘贴到C#程序的目录中来解决该问题。WinCE5设备从待机模式返回后PInvoke错误?

现在,我遇到了SQL Server CE DLL问题!同样的事情 - 它发生在C#上,但不是VB.Net程序,它发生在设备长时间处于待机模式之后。 SQL Server CE的所有组件都不会发生这种情况 - 就在我进行合并复制时。为了让它再次运行,我关闭并重新运行该程序。这对我来说很好,但用户不能接受。

这可能是什么原因造成的?这只是与C#的区别吗?我不想将所有SQL Server CE库粘贴到我的程序目录中。

(两个程序都有在SQL Server CE库添加引用,都有using/Imports System.Data.SqlServerCe代码)

回答

1

你应该让你的设备挂起/恢复意识。请注意,暂停通知在下一次恢复后发送。

大多数程序员忘记移动设备不处于始终连接和供电状态。例如,如果设备挂起,并且应用程序已在外部存储上打开文件。在暂停/恢复周期期间存储器可能会关闭/关闭。该应用程序然后需要关闭该文件并重新打开它。与网络和其他无线或有线连接相同。这些可能在暂停期间下降,需要在简历上重新初始化。

+0

由于这个原因,如果Yves能够告诉软件的哪一部分引发异常,那将是一件好事。也许它是一个网络商店的数据库。 – etalon11