【发布时间】:2013-08-15 22:24:57
【问题描述】:
只需将系统(在 win7 上运行多年)复制到 win8 即可运行(其他 9 个程序),但使用 SQLite3 的两个应用程序除外。这是使用 D5ent 和 ZEOS 6.6 构建的。不能转到 Zeos 7,因为它不会在 D5 中编译,我真的不想将其转换为 2007。
两者都因“SQL 错误:库例程调用顺序不正确”而崩溃。
我不知道这意味着什么或如何解决它。我尝试将他整个东西移动到硬盘驱动器的一个不受限制的、限制较少的部分,但仍然是同样的错误。限制较少,我的意思是“程序文件”文件夹之外。
有什么想法可以让我克服这个问题吗?
谢谢
【问题讨论】:
-
我们需要更多信息才能提供帮助。当应用程序崩溃时,它们到底在尝试做什么?他们是否连接到 SQLite?准备声明?做一些 DML?另一方面,如果你用谷歌搜索错误消息,你会在 SO 中看到很多关于同一异常的问题。
-
当您在打开数据库之前执行诸如准备查询之类的操作时,通常会生成该错误。您是否完全更改了代码,或者这些 exe 与 Windows 7 上的相同?
-
@Andy_D 感谢您的评论,是的,我刚刚将整个文件夹结构从 win7 复制到 win8,但尝试运行程序时出现错误。我在 win8 机器上没有 D5,所以我无法单步查看它可能出错的地方。发生这种情况真是太疯狂了。我使用SQL Firefox插件检查数据库,在win8上一切正常。一定是win8导致Zeos这样做的东西。猜测可能比 Zeos 更像是 MSoft 的东西。 :)
-
我怀疑这不是 MSSoft 的问题,而是你如何使用它的问题。您是否更改了 SQLite3 库版本?您的 SQlite3 错误是错误使用库或意外并发访问的典型原因。您是否在 Delphi 5 和您的开发机器中以完全调试模式运行 FastMM4?你的SQLite3文件不是一次访问几次吗?
-
@ArnaudBouchez 查看我的回答。正如我所说,我没有改变任何东西。它是整个文件夹结构的直接副本。当复制到 Truecrypt 容器时,它工作得很好。