LAUNCH EXTERNAL PROCESS

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004


LAUNCH EXTERNAL PROCESS (fileName{; inputStream{; outputStream{; errorStream}}})

引数説明
fileName文字列ファイルパスと起動するファイルの引数
inputStream文字列 | BLOB入力ストリーム(stdin)
outputStream文字列 | BLOB出力ストリーム(stdout)
errorStream文字列 | BLOBエラーストリーム(stderr)

警告: このコマンドは上級ユーザ向けに設計されています。

説明

LAUNCH EXTERNAL PROCESSコマンドを使用して、Mac OS XとWindowsで4Dから外部プロセスを起動させることができます。

Mac OS Xでは、コマンドを用いてターミナルから起動できる実行可能なアプリケーションへアクセスできます。

Note: このコマンドは、4D PackのAP_Sublaunchコマンドと同じ機能 (と拡張された特徴) を持ちます。

実行するアプリケーションの固定されたファイルパスと (必要に応じて) 引数を引数fileNameに渡します。

Mac OS Xではアプリケーション名を渡すこともできます。4Dは環境変数PATHを使用して、実行可能ファイルを探します。

警告: このコマンドは実行可能なアプリケーションのみを起動することができます。シェル (コマンドインタプリタ) の一部である命令は実行できません。例えば、Mac OSではこのコマンドを用いてecho命令やインダイレクトを実行することはできません。

オプションのinputStream引数は外部プロセスのstdinを格納します。コマンドが実行されると、引数outputStreamerrorStream (渡した場合) は外部プロセスのstdoutstderrをそれぞれ返します。32KBまたはバイナリデータ(ピクチャのような) より大きなサイズのテキストデータを処理する場合、文字列の代わりにBLOB引数を使用します

Note: SET ENVIRONMENT VARIABLEコマンド経由(非同期実行) で環境変数_4D_OPTION_BLOCKING_EXTERNAL_PROCESS を使用した場合、引数outputStreamerrorStreamは返されません。

Mac OS Xでの例題

Application/UtilitiesフォルダにあるMac OS Xターミナルを使用します。

1. ファイルに対してパーミッションを変更する(chmod はファイルアクセスを変更するために使用するMac OS Xコマンドです)

   LAUNCH EXTERNAL PROCESS ("chmod +x /folder/myfile.txt")

2. テキストファイルを編集する(catはファイルを編集するために使用するMac OS X マンドです)。この例ではコマンドの完全なアクセスパスが渡されています。

   C_TEXT(input;output)
   input:=""
   LAUNCH EXTERNAL PROCESS ("/bin/cat /folder/myfile.txt";input;output)

3. "Users" フォルダの内容を取得する(ls -lはDOSのdir コマンド に相当するMac OS Xコマンドです)

   C_TEXT($In;$Out)
   LAUNCH EXTERNAL PROCESS("/bin/ls -l /Users";$In;$Out)

4. 独立している"グラフィック" アプリケーションを起動させるには、openシステムコマンドを使用するのが望ましいです(この場合、LAUNCH EXTERNAL PROCESS ステートメントはアプリケーションをダブルクリックすることと同じ効果があります) 。

   LAUNCH EXTERNAL PROCESS("open /Applications/Calculator.app")

Windowsでの例題


5. NotePadを開く

   LAUNCH EXTERNAL PROCESS ("C:\\WINDOWS\\notepad.exe")

6. Notepadを開き、特定のドキュメントを開く

   LAUNCH EXTERNAL PROCESS ("C:\\WINDOWS\\notepad.exe C:\\Docs\\new folder\\res.txt")

7. MicrosoftR WordRアプリケーションを起動させて、特定のドキュメントを開く(2つの""を使用)

   $mydoc:="C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.EXE \"C:\\Documents and 
                        Settings\\Mark\\Desktop\\MyDocs\\New folder\\test.xml\""
   LAUNCH EXTERNAL PROCESS($mydoc;$tIn;$tOut)

8. Perlスクリプトを実行する(ActivePerlを必要とします):

   C_TEXT($input;$output)
   SET ENVIRONMENT VARIABLE("myvariable";"value")
   LAUNCH EXTERNAL PROCESS ("D:\\Perl\\bin\\perl.exe D:\\Perl\\eg\\cgi\\env.pl";$input;$output)

9. コンソールを表示せずにカレントディレクトリでコマンドを実行させる

   SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";"C:\\4D_VCS")
   SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
   LAUNCH EXTERNAL PROCESS("mycommand")

10. ユーザが選択した外部ドキュメントをWindowsで開く

   $docname:=Select document("";"*.*";"Choose the file to open";0)
   If(OK=1)
      SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
      LAUNCH EXTERNAL PROCESS("cmd.exe /C start \"\" \""+document+"\"")
   End if

参照

SET ENVIRONMENT VARIABLE.

システム変数またはセット

コマンドが正確に実行されると、システム変数OKに1が代入されます。その他の場合(ファイルが見つからない、メモリが足りないなど) 、0が代入されます。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次