我想开发一个完全用作前端的4D应用程序和完全用作后端的Postgres应用程序。可能吗?我不希望前端有任何数据库痕迹,即4D端。
但问题是在4D中打开/运行已编译的4D应用程序(exe)或打开结构文件时,它需要数据文件。 所以我的问题是我们可以抑制那个对话,这样我就可以完全使用4D作为前端了。
提前致谢。
答案 0 :(得分:2)
我认为你不能压制它。 4D的核心是数据库应用程序,因此它需要一个数据文件。但是你可以拥有一个空的数据文件。如果您创建数据文件,它将在下次没有对话框的情况下自动重新打开它。
我想你是,但如果没有,你应该考虑使用Pluggers的PostgreSQL plugin。
答案 1 :(得分:1)
所以我的问题是我们可以抑制那个对话,这样我就可以完全使用4D作为前端了。
您需要有一个数据文件,或者4D会提示用户要求创建或打开一个,即使应用程序中没有表格。
如果您使用的是v15或更高版本,则可以利用Default Data Folder来帮助您抑制"选择数据文件"对话框。
来自the docs
打开数据文件
当用户第一次启动新的或更新的合并应用程序(单用户或客户端 - 服务器)时,4D会尝试选择有效的数据文件。该申请已连续审查了几个地点。
启动合并应用程序的开始顺序是:
1)4D尝试打开最后打开的数据文件(初始启动时不适用)。
2)如果未找到,4D会尝试以只读模式打开.4DC文件旁边的默认数据文件夹中的数据文件(4D v15中的新增内容,如下所述)。
3)如果未找到,4D会尝试打开标准默认数据文件(与.4DC文件名称相同且位置相同)。
4)如果没有找到,4D显示标准"打开数据文件"对话框。
定义默认数据文件夹
4D允许您定义默认数据文件文件"在申请建设阶段。当应用程序首次启动时,如果未找到本地数据文件(请参阅上述顺序),则默认数据文件将以只读模式以4D方式自动打开。这使您可以在第一次启动合并应用程序时更好地控制数据文件创建和/或打开。更具体地说,涉及以下案例:
- 避免显示4D"打开数据文件"启动新的或更新的合并应用程序时的对话框。例如,您可以在On Startup数据库方法中检测到已打开默认数据文件,从而执行您自己的代码和/或对话框以创建或选择本地数据文件。
- 允许使用只读数据分发合并的应用程序(例如,用于演示应用程序)。
定义和使用默认数据文件:
- 您必须提供默认数据文件(名为" Default.4DD")并将其存储在数据库包(4dbase)内的默认文件夹(名为"默认数据")中。此文件必须与所有其他必需文件一起提供,具体取决于数据库配置:index(.4DIndx),外部Blob,日志等。您有责任提供有效的默认数据文件。但请注意,由于默认数据文件以只读模式打开,因此建议取消选中"使用日志文件"创建数据文件之前原始结构文件中的选项。
- 构建应用程序时,默认数据文件夹将集成到合并的应用程序中。此默认数据文件夹中的所有文件也都是嵌入的。
下图说明了此功能:
image http://doc.4d.com/4Dv15/picture/1879237/pict1879237.en.png
在首次启动时检测到默认数据文件时,它将以只读模式静默打开,从而允许您执行任何不会修改数据文件本身的自定义操作。
有关详细信息,请参阅:
Docs for v15.1+
Docs for v15R4
答案 2 :(得分:1)
以前的答案是正确的,因为空白数据文件应该可以解决您的问题。
对于连接,您还可以使用ODBC连接。唯一的缺点是您必须在要运行4D前端的每台计算机上配置连接。然后使用SQL LOGIN将4D数据库中的ODBC连接指定为数据源。