postgresql4d-database

Use 4D only as front end application


I want to develop an application using 4D fully as front end and Postgres fully as backend. Is it possible? I don't want any traces of database in front end i.e at 4D end.

But here the problem is while opening/running the compiled 4D application (exe) or opening structure file in 4D, it requires the datafile. So my question is can we suppress that dialog so that i could use 4D as front end completely.

Thanks in advance.


Solution

  • So my question is can we suppress that dialog so that i could use 4D as front end completely.

    You need to have a data file or 4D will prompt the user asking to create or open one, even if there are no tables in the application.

    If you are using v15 or higher you can take advantage of the Default Data Folder which could help you in suppressing the "select a data file" dialog.

    Quote from the docs

    Opening the data file

    When a user launches a new or updated merged application (single-user or client-server) for the first time, 4D tries to select a valid data file. Several locations are examined by the application successively.

    The opening sequence for launching a merged application is:

    1) 4D tries to open the last data file opened (not applicable during initial launch).

    2) If not found, 4D tries to open the data file in a default data folder next to the .4DC file in read-only mode (new in 4D v15, described below).

    3) If not found, 4D tries to open the standard default data file (same name and same location as the .4DC file).

    4) If not found, 4D displays a standard "Open data file" dialog box.

    Defining a default data folder

    4D allows you to define a default data file file" at the application building stage. When the application is launched for the first time, if no local data file is found (see sequence described above), the default data file is automatically opened silently in read-only mode by 4D. This gives you better control over data file creation and/or opening when launching a merged application for the first time. More specifically, the following cases are covered:

    • Avoiding the display of the 4D "Open Data File" dialog box when launching a new or updated merged application. You can detect, for example in the On Startup database method, that the default data file has been opened and thus execute your own code and/or dialogs to create or select a local data file.
    • Allowing the distribution of merged applications with read-only data (for demo applications, for instance).

    To define and use a default data file:

    • You must provide a default data file (named "Default.4DD") and store it in a default folder (named "Default Data") inside the database package (4dbase). This file must be provided along with all other necessary files, depending on the database configuration: index (.4DIndx), external Blobs, journal, etc. It is your responsibility to provide a valid default data file. Note however that since a default data file is opened in read-only mode, it is recommended to uncheck the "Use Log File" option in the original structure file before creating the data file.
    • When the application is built, the default data folder is integrated into the merged application. All files within this default data folder are also embedded.

    The following graphic illustrates this feature:

    image
    (source: doc.4d.com)

    When the default data file is detected at first launch, it is silently opened in read-only mode, thus allowing you to execute any custom operations that do not modify the data file itself.

    For more information see:
    Docs for v15.1+
    Docs for v15R4