3

我正在编写一个必须打开已由第三方保存的预先存在的 BDE 数据库的应用程序。

在这个应用程序中,我目前有一个TDatabase( DriverName: STANDARD) 并pathParams.
我现在可以设置Connected为 true 而不会出现错误消息。

还有一个TTablewithDatabaseName设置为 TDatabase 的值并TableName设置为位于文件夹中的 .db 文件(名称是自动填写的,我只愿意选择它)。

现在的问题是:
如果我设置Active为 true,则会出现一条错误消息,抱怨缺少C:\PDOXUSRS.NET.
我知道我可以使用 设置另一条路径BDEADMIN,但我需要在我的应用程序中解决这个问题 - 我不能指望每个客户都进行此更改。此外,我有一台运行第三方应用程序的测试机器——它可以访问数据库而没有任何错误,而我的应用程序抛出上述错误。这让我怀疑可能有一种解决方法。

有这样的解决方法吗?
我只需要对数据库的读取权限。

4

1 回答 1

5

感谢bummi的链接
解决了 非常感谢。

引用:

如何以编程方式更改 NET DIR 以使其保持
[...]
您还应该记住,如果您的程序在运行时更改自己的 NET DIR 位置,使用 DbiSetProp 函数或 TSession 组件的 NetFileDir 属性,这将覆盖配置文件中的 NET DIR 值。

它向我指出了在代码中更改 NET DIR 的可能性:

Session.NetFileDir := MyCustomTempDir;

之后,Table1.active := true工作和数据显示在连接的TDBGrid.

于 2013-06-04T14:01:20.190 回答