0

我想开发一个完全使用 4D 作为前端和完全使用 Postgres 作为后端的应用程序。是否可以?我不希望在前端(即 4D 端)有任何数据库痕迹。

但这里的问题是在打开/运行编译的 4D 应用程序 (exe) 或打开 4D 结构文件时,它需要数据文件。所以我的问题是我们能否抑制该对话框,以便我可以完全使用 4D 作为前端。

提前致谢。

4

3 回答 3

2

我不认为你可以压制它。4D 的核心是一个数据库应用程序,因此它需要一个数据文件。但是你可以有一个空的数据文件。如果您创建数据文件,它将在下次自动重新打开时不会出现对话框。

我想你是,但如果不是,你应该考虑使用 Pluggers 的PostgreSQL 插件

于 2016-06-15T14:15:02.673 回答
1

所以我的问题是我们能否抑制该对话框,以便我可以完全使用 4D 作为前端。

您需要有一个数据文件,否则 4D 会提示用户要求创建或打开一个,即使应用程序中没有表也是如此。

如果您使用的是 v15 或更高版本,您可以利用默认数据文件夹,它可以帮助您抑制“选择数据文件”对话框。

从文档中引用

打开数据文件

当用户第一次启动新的或更新的合并应用程序(单用户或客户端服务器)时,4D 会尝试选择一个有效的数据文件。应用程序依次检查多个位置。

启动合并应用程序的打开顺序是:

1) 4D 尝试打开最后打开的数据文件(在初始启动期间不适用)。

2) 如果未找到,4D 会尝试以只读模式打开 .4DC 文件旁边的默认数据文件夹中的数据文件(4D v15 中的新功能,如下所述)。

3) 如果未找到,4D 会尝试打开标准默认数据文件(与 .4DC 文件同名和位置)。

4) 如果没有找到,4D 会显示一个标准的“打开数据文件”对话框。

定义默认数据文件夹

4D允许您在应用程序构建阶段定义一个默认数据文件文件。当第一次启动应用程序时,如果没有找到本地数据文件(参见上面描述的顺序),默认数据文件会自动静默打开4D 的只读模式。这使您可以在首次启动合并应用程序时更好地控制数据文件的创建和/或打开。更具体地说,包括以下情况:

  • 在启动新的或更新的合并应用程序时避免显示 4D“打开数据文件”对话框。例如,您可以在 On Startup 数据库方法中检测到默认数据文件已打开,从而执行您自己的代码和/或对话框来创建或选择本地数据文件。
  • 允许分发具有只读数据的合并应用程序(例如,用于演示应用程序)。

要定义和使用默认数据文件:

  • 您必须提供一个默认数据文件(名为“Default.4DD”)并将其存储在数据库包 (4dbase) 内的默认文件夹(名为“Default Data”)中。此文件必须与所有其他必要文件一起提供,具体取决于数据库配置:索引 (.4DIndx)、外部 Blob、日志等。提供有效的默认数据文件是您的责任。但是请注意,由于默认数据文件是以只读模式打开的,因此建议在创建数据文件之前取消选中原始结构文件中的“使用日志文件”选项。
  • 构建应用程序时,默认数据文件夹将集成到合并的应用程序中。此默认数据文件夹中的所有文件也被嵌入。

下图说明了此功能:

图片
(来源:doc.4d.com

当首次启动时检测到默认数据文件时,它会以只读模式静默打开,从而允许您执行任何不修改数据文件本身的自定义操作。

有关更多信息,请参阅:
v15.1+
文档 v15R4 文档

于 2016-06-15T16:23:15.603 回答
1

以前的答案是正确的,因为空白数据文件应该可以解决您的问题。

至于连接,您也可以使用 ODBC 连接。唯一的缺点是您必须在每台要运行 4D 前端的机器上配置连接。然后使用 SQL LOGIN 将 4D 数据库中的 ODBC 连接指定为数据源。

于 2016-06-15T17:16:02.583 回答