2

每当我在 Delphi XE Pro(在 Windows 7 32 位)中打开一个Quantum Grid演示时,项目中的每个表(我认为)都会显示以下错误:

错误信息 http://www.tranglos.com/img/qgerror.png

消息是:

Network initialization failed.
File or directory does not exist.
File: C:\PDOXUSRS.NET
Permission denied.
Directory: C:\.

我了解写入 c:\ 的权限问题,但结果是虽然我可以构建和运行演示项目,但没有显示任何数据,这使得演示相当无用。而在 21 世纪,什么样的数据库将其配置写入 c:\ 目录呢?:) (是的,我对 Paradox 数据库知之甚少,但我也不会使用。我只想学习如何使用网格。)

使用 BDE 管理员,我尝试将 Paradox“NET DIR”值更改为在 C 驱动器上具有写入权限的文件夹。结果:现在数据库表找不到它们的数据:

Path not found.
File: C:..\..\Data\GENRES.DB.

...并且无用的截断路径没有表明文件的预期位置。

有没有办法解决这个问题,以便演示可以正确加载他们的示例数据?

4

3 回答 3

1

您是否正确安装了 BDE?它应该使用 DBDEMOS 文件。您在 BDE 管理实用程序中看到这样的别名吗?你能在其中一个 Delphi 演示中打开那个数据库吗?

BDE 不是二十一世纪的数据库,它是二十年前开发的,最近从未升级。这是一个过时的技术,但因为它仍然与每个版本的 Delphi 一起带有已知的数据库,它仍然经常用于演示,因为不需要安装任何新的东西。

无论如何,该文件不是它的配置文件。这是一个共享锁文件,允许多个用户同时使用数据库。因为它是一个没有中央服务器的基于文件的数据库,所以它必须使用这种共享文件。通常它的位置会更改为网络共享,但由于历史原因,它默认为 C:\。

无论如何,不​​仅 BDE 仍在尝试写入叉形目录。我仍然看到一大堆应用程序试图写入 C:\(尤其是日志)或其他只读位置。

于 2011-11-06T17:47:52.090 回答
0

使用 BDE Admin 更改 PDOXUSRS.NET 的位置有所帮助,但这还不够。DevExpress 在为数据位置指定一个相对文件夹方面做了正确的事情,相对文件夹看起来完全没问题,但由于某种原因数据库找不到它。

解决方案:在 \Demos\ 文件夹下找到所有包含该字符串的 *.dfm 文件

..\..\Data

并将该字符串替换为 demos 文件夹的绝对路径。完成后,所有演示都正确打开。

于 2011-11-06T18:18:23.290 回答
0

我从我们自己的应用程序中知道这条消息。它与 Windows Vista 引入的安全措施有关。试图保护关键文件的操作系统拒绝访问它们。有一种方法可以在不影响安全性的情况下绕过此机制。尝试以兼容模式运行您的应用程序。当应用程序在兼容模式下运行时,从/到系统文件夹的读/写操作被重定向到位于 C:\Users[Current User]\AppData\Local\VirtualStore 中的“安全”目录。有关http://www.windowsecurity.com/articles/Protecting-System-Files-UAC-Virtualization-Part1.html的更多信息。

于 2012-08-24T12:33:00.653 回答