4D v16.3LAUNCH EXTERNAL PROCESS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
LAUNCH EXTERNAL PROCESS
LAUNCH EXTERNAL PROCESS
LAUNCH EXTERNAL PROCESSコマンドを使用して、Mac OS XとWindowsで4Dから外部プロセスを起動させることができます。 実行するアプリケーションの固定されたファイルパスと (必要に応じて) 引数を引数fileNameに渡します。 警告: このコマンドは実行可能なアプリケーションのみを起動することができます。シェル (コマンドインタプリタ) の一部である命令は実行できません。例えば、Mac OSではこのコマンドを用いてecho命令やインダイレクトを実行することはできません。 オプションのinputStream引数は外部プロセスのstdinを格納します。コマンドが実行されると、引数outputStreamとerrorStream (渡した場合) は外部プロセスのstdoutとstderrをそれぞれ返します。(例えばピクチャのような)バイナリデータを扱っている場合、文字列の代わりにBLOB引数を使用します 。 注: SET ENVIRONMENT VARIABLEコマンド経由(非同期実行) で環境変数_4D_OPTION_BLOCKING_EXTERNAL_PROCESS を使用した場合、引数outputStreamとerrorStreamは返されません。 pid引数を渡した場合、pid引数(倍長整数型)は_4D_OPTION_BLOCKING_EXTERNAL_PROCESSオプションの状態に関わらず、コマンドをローンチするのに作成したプロセスのシステムレベルのIDを返します。この情報により、作成した外部プロセスとその後やりとり(例えば中止等)するのが容易になります。プロセスのローンチに失敗した場合、pid引数は返されません。 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) 3. "Users" フォルダの内容を取得する(ls -lはDOSのdir コマンド に相当するMac OS Xコマンドです) C_TEXT($In;$Out) 4. 独立している"グラフィック" アプリケーションを起動させるには、openシステムコマンドを使用するのが望ましいです(この場合、LAUNCH EXTERNAL PROCESS ステートメントはアプリケーションをダブルクリックすることと同じ効果があります) 。 LAUNCH EXTERNAL PROCESS("open /Applications/Calculator.app") 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\"" 8. Perlスクリプトを実行する(ActivePerlを必要とします): C_TEXT($input;$output) 9. コンソールを表示せずにカレントディレクトリでコマンドを実行させる SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";"C:\\4D_VCS") 10. ユーザが選択した外部ドキュメントをWindowsで開く $docname:=Select document("";"*.*";"Choose the file to open";0) 11. Windows上でプロセスの一覧をリクエスト: C_LONGINT($pid) コマンドが正しく実行されるとシステム変数OKは1に設定されます。そうでなければ (ファイルが見つからない、メモリが足りないなど) 0が設定されます。
参照
|
プロパティ
プロダクト: 4D 履歴
初出: 4D 2004 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||