2015-11-06 71 views
-1

我正在构建一个使用delphi 7和ms access 2007作为客户端数据库的应用程序。它运行在我的笔记本电脑(华硕)正常,但我复制整个项目文件夹并运行Project.exe后,它给我一个错误“磁盘写入错误”。在非德尔福PC上运行delphi应用程序

我试过使用谷歌搜索“磁盘写错误delphi应用程序”,但只发现有关I/O错误。我的应用程序只在点击子菜单时调用的窗体中打开一个文件后,所以我猜这不是I/O ..

解决方案是什么?

在此先感谢

P.S:

在项目选项

,使用运行时包构建应用程序的复选框已经取消勾选。

我的电脑和我的客户的个人电脑都使用Windows 7 32位(我还没有真正与他证实了这一点,但我猜他也以32位的版本,因为他不是一个易怒的家伙)

他的电脑没有按“T有德尔福安装

UPDATE:

我忘了确切的错误信息是的‘磁盘或网络错误’,而不是‘磁盘写入错误’。

在google搜索正确的错误信息后,我发现问题是我在ADO的连接字符串中使用了DataSource的完整路径。在将连接字符串更改为“DataSource =。\ db \ my_db.mdb”后,该应用程序完美工作。

即使这个问题有一个负的标志,我就离开这个解决方案在这里万一有人需要它在未来...

+0

尝试用madexcept(http://madshi.net/madExceptDescription.htm)重新编译你的程序,它会给你一些答案。由于我们无法看到您的代码,因此这里没有人可以帮助您。 –

+0

您需要进行一些调试 –

+0

应用程序的数据文件是否位于Win7通常禁止写入操作的文件夹之一,例如c:\ program files等? – MartynA

回答

-1

这里有一些不同的问题。

“磁盘写入错误”可能是您需要在文件夹中写入权限。一个简单的测试就是你用“管理员权限”执行你的应用程序来测试它。

不同的问题是项目选项中的“使用运行时包”检查。

如果您使用此检查编译您的应用程序,则需要将您的应用程序所需的BPL与可执行文件一起复制。

如果您不选中此选项进行编译,您的exe文件包含所有用于执行的库(不包括DLL或外部依赖项)。