メインコンテンツまでスキップ
バージョン: 20 R10

コマンドライン・インターフェース

macOS のターミナルまたは Windows のコンソールを使用して、コマンドラインによる 4Dアプリケーション (4D および 4D Server、組み込みアプリケーション、tool4d) の起動ができます。 この機能により、以下のことが可能になります: この機能により、以下のことが可能になります: この機能により、以下のことが可能になります: この機能により、以下のことが可能になります: この機能により、以下のことが可能になります: この機能により、以下のことが可能になります:

  • リモートからのデータベース起動。これは特に Webサーバーとして動作する 4D の管理に便利です。
  • アプリケーションの自動テストの実行

基本情報

4Dアプリケーションのコマンドラインは、macOS のターミナルまたは Windows のコンソールで実行できます。

  • macOS では、open コマンドを使用します。
  • Windows では、引数を直接渡すことができます。

macOS でも、パッケージ内のアプリケーションがあるフォルダー (Contents/MacOS パス) に移動することによって、引数を直接渡すことができ、エラーストリーム (stderr) にアクセスできるようになります。 たとえば、4Dパッケージが MyFolder フォルダーにある場合、次のようにコマンドラインを書く必要があります: /MyFolder/4D.app/Contents/MacOS/4D。 しかしながら、エラーストリーム(stderr) にアクセスする必要がない場合には、open コマンドの使用が推奨されます。

4Dアプリケーションの起動

ここでは、4Dアプリケーションを起動するためのコマンドラインとサポートされている引数について説明します。

シンタックス:

<applicationPath> [--version] [--help] [--project] [<projectPath | packagePath | 4dlinkPath> [--data <dataPath>]]
[--opening-mode interpreted | compiled] [--create-data] [--user-param <user string>] [--headless] [--dataless]
[--webadmin-settings-file] [--webadmin-access-key] [--webadmin-auto-start] [--webadmin-store-settings]
[--utility] [--skip-onstartup] [--startup-method <methodName string>]
引数説明
applicationPath4D、4D Server、組み込みアプリケーション、または tool4d へのパス。アプリケーションを起動します。
ヘッドレスでない場合: アプリケーションをダブルクリックするのとおなじです。ストラクチャーファイルを指定する引数なしで呼び出された場合、アプリケーションが実行され、データベースを選択のダイアログボックスが表示されます。
--versionアプリケーションのバージョンを表示して終了します。
--helpヘルプを表示して終了します。 代替引数: -?, -h
--projectprojectPath | packagePath | 4dlinkPathカレントデータファイルを開くプロジェクトファイル。 ダイアログボックスは表示されません。
--datadataPath指定されたプロジェクトファイルで開くデータファイル。 指定しない場合、最後に開いたデータファイルが使用されます。
--opening-modeinterpreted | compiledデータベースをインタープリタモードまたはコンパイルモードで開くように指示します。 指定のモードが利用できない場合でも、エラーは発生しません。
--create-data有効なデータファイルが見つからない場合、新しいデータファイルを自動的に作成します。 ダイアログボックスは表示されません。 "-data" 引数で渡されたファイルがあれば、4D はそれを使用します (同じ名前のファイルが既に存在する場合にはエラーが生成されます)。
--user-paramカスタムのユーザー文字列Get database parameter コマンドを通してアプリケーションで利用可能な任意の文字列 (ただし文字列は予約文字である "-" から始まってはいけません)。
--headless4D、4D Server、または組み込みアプリケーションをインターフェースなし (ヘッドレスモード) で起動します。 このモードでは:
  • デザインモードは使えません。データベースはアプリケーションモードで起動します。
  • ツールバー、メニューバー、MDI ウィンドウやスプラッシュスクリーンは表示されません。
  • Dock またはタスクバーにはアイコンは表示されません。
  • 開かれたデータベースは、"最近使用したデータベース" メニューに登録されません。
  • 4D診断ファイルの記録が自動的に開始されます (SET DATABASE PARAMETER 、値79 参照)
  • ダイアログボックスへのコールはすべてインターセプトされ、自動的にレスポンスが返されます (例: ALERT コマンドの場合は OK、エラーダイアログの場合は Abort など)。 インターセプトされたコマンド (*) は、診断ファイルに記録されます。

  • 保守上の理由から、LOG EVENT コマンドを使用して任意のテキストを標準の出力ストリームに送ることができます。 ヘッドレスモードの 4Dアプリケーションは、QUIT 4D を呼び出すか OSタスクマネージャーを使用することでしか終了できない点に注意が必要です。
    --dataless4D、4D Server、組み込みアプリケーション、または tood4d をデータレスモードで起動します。 データレスモードは、4D がデータを必要としないタスク (プロジェクトのコンパイルなど) を実行する場合に便利です。 このモードでは:
  • コマンドラインや .4DLink ファイルで指定されていても、また CREATE DATA FILEOPEN DATA FILE コマンドを使用していても、データを含むファイルは開かれません。
  • データを操作するコマンドはエラーを生成します。 たとえば、CREATE RECORD は "このコマンドの対象となるテーブルがありません" というエラーを生成します。

  • 注意:
  • コマンドラインで引数が渡された場合、アプリケーションを終了しない限り、4D で開かれているすべてのデータベースにデータレスモードが適用されます。
  • .4DLink ファイルを使って引数が渡された場合には、データレスモードは .4DLink ファイルで指定されたデータベースにのみ適用されます。 .4DLink ファイルの詳細については、プロジェクトを開く (その他の方法) を参照ください。
  • --webadmin-settings-fileファイルパスWebAdmin Webサーバー 用のカスタム WebAdmin .4DSettings ファイルのパス。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。
    --webadmin-access-keyTextWebAdmin Webサーバー 用のアクセスキー。 tool4d の場合には利用できません。 tool4d の場合には利用できません。
    --webadmin-auto-startBooleanWebAdmin Webサーバー 用の自動スタートアップ設定の状態。 tool4d の場合には利用できません。 tool4d の場合には利用できません。
    --webadmin-store-settingsアクセスキーと自動スタートアップパラメーターを、現在使用している設定ファイル (デフォルトの WebAdmin.4DSettings ファイル、または --webadmin-settings-path パラメーターで指定されたカスタムファイル) に保存します。 必要に応じて --webadmin-store-settings 引数を使用して、これらの設定を保存します。 tool4d の場合には利用できません。
    --utility4D Server の場合のみ利用可能です。 4D Server をユーティリティモードで起動 します。
    --skip-onstartupOn Startup および On Exit データベースメソッドを含む "自動" メソッドを一切実行せずにプロジェクトを起動します。
    --startup-methodプロジェクトメソッド名 (文字列)(--skip-onstartup でスキップされていない場合) On Startup データベースメソッドの直後に実行するプロジェクトメソッドです。

    (*) Some dialogs are displayed before the database is opened, so that it's impossible to write into the Diagnostic log file (license alert, conversion dialog, database selection, data file selection). このような場合、エラーストリーム (stderr) とシステムのイベントログにエラーが投げられ、アプリケーションが終了します。

    例題

    ユーザーのカレントフォルダーは、macOS では "~" コマンドを、Windows では "%HOMEPATH%" コマンドを使用することで取得することができます。

    デスクトップ上に置かれた 4Dアプリケーションの起動:

    • macOS:
    open ~/Desktop/4D.app
    open "~/Desktop/4D Server.app"
    • Windows:
    %HOMEPATH%\Desktop\4D\4D.exe
    %HOMEPATH%\Desktop\"4D Server.exe"

    macOS上でパッケージファイルを開く:

    --args ~/Documents/myDB.4dbase

    プロジェクトファイルを開く:

    • macOS:
    --args ~/Documents/myProj/Project/myProj.4DProject
    • Windows:
    %HOMEPATH%\Documents\myProj\Project\myProj.4DProject

    データファイルを指定してプロジェクトファイルを開く:

    • macOS:
    --args --project ~/Documents/myProj/Project/myProj.4DProject --data ~/Documents/data/myData.4DD
    • Windows:
    --project %HOMEPATH%\Documents\myProj\Project\myProj.4DProject --data %HOMEPATH%\Documents\data\myData.4DD
    または:
    /project %HOMEPATH%\Documents\myProj\Project\myProj.4DProject /data %HOMEPATH%\Documents\data\myData.4DD

    .4DLink ファイルを開く:

    • macOS:
    ~/Desktop/MyDatabase.4DLink
    • Windows:
    %HOMEPATH%\Desktop\MyDatabase.4DLink

    コンパイルモードで起動し、データファイルが利用できない場合には作成する:

    • macOS:
    ~/Documents/myBase.4dbase --args --opening-mode compiled --create-data true
    • Windows:
    %HOMEPATH%\Documents\myBase.4dbase\myDB.4db --opening-mode compiled --create-data true

    データファイルを指定してプロジェクトファイルを開き、ユーザー引数として文字列を渡す:

    • macOS:
    --args --project ~/Documents/myProj/Project/myProj.4DProject --data ~/Documents/data/myData.4DD --user-param "Hello world"
    • Windows:
    --project %HOMEPATH%\Documents\myProj\Project\myProj.4DProject --data %HOMEPATH%\Documents\data\myData.4DD --user-param "Hello world"

    インターフェースなしで起動する (ヘッドレスモード):

    • macOS:
    --args --project ~/Documents/myProj/Project/myProj.4DProject --data ~/Documents/data/myData.4DD --headless  
    • Windows:
    --project %HOMEPATH%\Documents\myProj\Project\myProj.4DProject --data %HOMEPATH%\Documents\data\myData.4DD --headless

    tool4d

    tool4d は、4Dプロジェクトをヘッドレスモードで開き、CLI を使用して 4Dコードを実行できる、無料かつ軽量なスタンドアローンアプリケーションです。

    tool4d は Windows と macOS で利用可能で、4Dリリースと常に紐づいています (同じバージョンとビルド番号)。 too4d は英語ローカライズ版のみ提供されます。

    tool4dは、次のことをおこなう場合に適したツールです:

    • 4Dアプリケーション用の CI/CD (継続的インティグレーション/継続的デリバリー) チェーンの実装
    • 軽量な 4D実行ファイルを使用して (たとえば、自動のユニットテストをおこなうために) 4Dスクリプトを実行します。

    tool4d の使い方

    tool4d は、4D 製品ダウンロードページ から入手することができます。

    tool4d を使うには、コマンドライン を実行して起動し、標準的な 4Dプロジェクトを開きます。 上表に記載されている引数は、--webadmin を除いてすべて使用することができます。WebAdmin コンポーネントは tool4d で無効化 されているため、使用できません。 tool4d では、次の実行シーケンスが起動されます:

    1. tool4d は、On Startup データベースメソッド (および ユーザー開始メソッド などのすべての "自動" メソッド) を実行します。ただし、--skip-onstartup 引数が渡された場合を除きます。
    2. tool4d は、--startup-method の引数で指定されたメソッドがあれば、それを実行します。
    3. tool4d は、--skip-onstartup 引数が渡された場合を除き、On Exit データベースメソッドを実行します。
    4. tool4d は終了します。

    Windows では、tool4d はコンソールアプリケーションであるため、stdout ストリームがターミナル (cmd、powershell...) に表示されます。

    注記
    • tool4d は常にヘッドレスで実行されます (headless コマンドラインオプションは無意味です)。
    • Application type コマンドを tool4d から呼び出すと、6 ("tool4d") を返します。
    • 診断ログファイル には先頭に "4DDiagnosticLogTool" が付きます。

    無効化されている 4D機能

    tool4d は自動的に ヘッドレスモード で実行され (引数一覧--headless 参照)、4D IDE やそのサーバーにアクセスすることはできないことに留意してください。 具体的には、以下の機能が無効になっています: 具体的には、以下の機能が無効になっています: 具体的には、以下の機能が無効になっています: 具体的には、以下の機能が無効になっています: 具体的には、以下の機能が無効になっています: 具体的には、以下の機能が無効になっています:

    • アプリケーションサーバー、Webサーバー、SQLサーバー
    • バックアップスケジューラー
    • ODBC と SQL パススルー
    • 4D View Pro、4D SVG、4D NetKit など、すべてのコンポーネント
    • hunspell スペルチェッカー
    • 日本語のスペルチェッカー (mecab ライブラリ)
    • WebAdmin
    • CEF (Chromium Embedded Framework)
    • PHP
    • リモートデバッガー (ローカルデバッガー、TRACE コマンドおよびブレークポイントは、ヘッドレスアプリケーションでは無視されます)。

    ユーティリティモードの 4D Server

    CLIオプションの --utility を使用すると、4D Server インスタンスをユーティリティモード (ヘッドレス) で起動することができます。 この場合、以下の実行シーケンスが起動されます:

    1. 4D Server は、On Startup データベースメソッド (および ユーザー開始メソッド などのすべての "自動" メソッド) を実行します。ただし、--skip-onstartup 引数が渡された場合を除きます。
    2. 4D Server は、--startup-method で指定されたメソッドがあれば、それを実行します。
    3. 4D Server は、--skip-onstartup 引数が渡された場合を除き、On Exit データベースメソッドを実行します。
    4. 4D Server は終了します。
    info

    tool4d とは異なり、ユーティリティモードの 4D Server では、すべての機能が有効になっています。 ただし、アプリケーションサーバーなど、すべてのサーバーは起動しません。

    参照

    tool4d とユーティリティモードの 4D Server の使用例については、このブログ記事 をご覧ください。