コマンドライン・インターフェース
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>]
| 引数 | 値 | 説明 | 
|---|---|---|
| applicationPath | 4D、4D Server、組み込みアプリケーション、または tool4d へのパス。 | アプリケーションを起動します。 ヘッドレスでない場合: アプリケーションをダブルクリックするのとおなじです。ストラクチャーファイルを指定する引数なしで呼び出された場合、アプリケーションが実行され、データベースを選択のダイアログボックスが表示されます。 | 
| --version | アプリケーションのバージョンを表示して終了します。 | |
| --help | ヘルプを表示して終了します。 代替引数: -?, -h | |
| --project | projectPath | packagePath | 4dlinkPath | カレントデータファイルを開くプロジェクトファイル。 ダイアログボックスは表示されません。 | 
| --data | dataPath | 指定されたプロジェクトファイルで開くデータファイル。 指定しない場合、最後に開いたデータファイルが使用されます。 | 
| --opening-mode | interpreted | compiled | データベースをインタープリタモードまたはコンパイルモードで開くように指示します。 指定のモードが利用できない場合でも、エラーは発生しません。 | 
| --create-data | 有効なデータファイルが見つからない場合、新しいデータファイルを自動的に作成します。 ダイアログボックスは表示されません。 "-data" 引数で渡されたファイルがあれば、4D はそれを使用します (同じ名前のファイルが既に存在する場合にはエラーが生成されます)。 | |
| --user-param | カスタムのユーザー文字列 | Get database parameterコマンドを通してアプリケーションで利用可能な任意の文字列 (ただし文字列は予約文字である "-" から始まってはいけません)。 | 
| --headless | 4D、4D Server、または組み込みアプリケーションをインターフェースなし (ヘッドレスモード) で起動します。 このモードでは: 保守上の理由から、LOG EVENT コマンドを使用して任意のテキストを標準の出力ストリームに送ることができます。 ヘッドレスモードの 4Dアプリケーションは、QUIT 4D を呼び出すか OSタスクマネージャーを使用することでしか終了できない点に注意が必要です。 | |
| --dataless | 4D、4D Server、組み込みアプリケーション、または tood4d をデータレスモードで起動します。 データレスモードは、4D がデータを必要としないタスク (プロジェクトのコンパイルなど) を実行する場合に便利です。 このモードでは: .4DLinkファイルで指定されていても、またCREATE DATA FILEやOPEN DATA FILEコマンドを使用していても、データを含むファイルは開かれません。CREATE RECORDは "このコマンドの対象となるテーブルがありません" というエラーを生成します。注意: .4DLinkファイルを使って引数が渡された場合には、データレスモードは.4DLinkファイルで指定されたデータベースにのみ適用されます。.4DLinkファイルの詳細については、プロジェクトを開く (その他の方法) を参照ください。 | |
| --webadmin-settings-file | ファイルパス | WebAdmin Webサーバー 用のカスタム WebAdmin .4DSettingsファイルのパス。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 | 
| --webadmin-access-key | Text | WebAdmin Webサーバー 用のアクセスキー。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 | 
| --webadmin-auto-start | Boolean | WebAdmin Webサーバー 用の自動スタートアップ設定の状態。 tool4d の場合には利用できません。 tool4d の場合には利用できません。 | 
| --webadmin-store-settings | アクセスキーと自動スタートアップパラメーターを、現在使用している設定ファイル (デフォルトの WebAdmin.4DSettingsファイル、または--webadmin-settings-pathパラメーターで指定されたカスタムファイル) に保存します。 必要に応じて--webadmin-store-settings引数を使用して、これらの設定を保存します。 tool4d の場合には利用できません。 | |
| --utility | 4D Server の場合のみ利用可能です。 4D Server をユーティリティモードで起動 します。 | |
| --skip-onstartup | On StartupおよびOn Exitデータベースメソッドを含む "自動" メソッドを一切実行せずにプロジェクトを起動します。 | |
| --startup-method | プロジェクトメソッド名 (文字列) | ( --skip-onstartupでスキップされていない場合)On Startupデータベースメソッドの直後に実行するプロジェクトメソッドです。 | 
(*) 一部のダイアログはデータベースを開く前に表示されるため、診断ログファイル に記録することができません (ライセンス警告、変換ダイアログ、データベース選択、データファイル選択)。 このような場合、エラーストリーム (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 では、次の実行シーケンスが起動されます:
- tool4d は、On Startupデータベースメソッド (および ユーザー開始メソッド などのすべての "自動" メソッド) を実行します。ただし、--skip-onstartup引数が渡された場合を除きます。
- tool4d は、--startup-methodの引数で指定されたメソッドがあれば、それを実行します。
- tool4d は、--skip-onstartup引数が渡された場合を除き、On Exitデータベースメソッドを実行します。
- 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 インスタンスをユーティリティモード (ヘッドレス) で起動することができます。 この場合、以下の実行シーケンスが起動されます:
- 4D Server は、On Startupデータベースメソッド (および ユーザー開始メソッド などのすべての "自動" メソッド) を実行します。ただし、--skip-onstartup引数が渡された場合を除きます。
- 4D Server は、--startup-methodで指定されたメソッドがあれば、それを実行します。
- 4D Server は、--skip-onstartup引数が渡された場合を除き、On Exitデータベースメソッドを実行します。
- 4D Server は終了します。
tool4d とは異なり、ユーティリティモードの 4D Server では、すべての機能が有効になっています。 ただし、アプリケーションサーバーなど、すべてのサーバーは起動しません。
tool4d とユーティリティモードの 4D Server の使用例については、このブログ記事 をご覧ください。