Process number

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

version 6.0


Process number (name{; *}) 数値

引数説明
name文字列プロセス番号を取り出すプロセス名
*4D Serverのプロセス番号を返す
戻り値数値プロセス番号

説明

Process numberは、name引数に指定した名前を持つプロセス番号を返します。プロセスが見つからない場合には、Process numberは0を返します。

オプションの引数 * を指定すると、サーバ上で実行されたプロセス(ストアドプロシージャ)のプロセスIDを4D Clientで取得することができます。この場合、負の値が返されます。GET PROCESS VARIABLESET PROCESS VARIABLEコマンドを使用する際には、このオプションが特に役立ちます。詳細はそれぞれのコマンドの説明を参照してください。

サーバマシン上のプロセスから引数 * を指定してこのコマンドを実行すると、正の値が返されます。

例題

独立したプロセスで実行するカスタムフローティングウインドウを作成します。このプロセスでは、デザインモードでやり取りができる独自のツールを実装します。例えば、キーワードの階層リストで項目を選択すると、デザインモードの最前面ウインドウにテキストを貼り付けるようなツール。これを実行するにはペーストボードを使用できますが、貼り付けイベントはデザインプロセスの内部で発生する必要があります。以下の関数は、デザインプロセス(が実行している場合)のプロセス番号を返します:

      ` Design process number プロジェクトメソッド
      ` Design process number -> 倍長整数
      ` Design process number -> デザインプロセス番号

   $0:=Process number("デザインプロセス")
      ` Note: プロセス名が変更されると、このコードは利用できなくなります

この関数を使用して、下記のプロジェクトメソッドは、引数として受け取ったテキストをデザインモードの最前面のウインドウに貼り付けます(適用可能な場合):

      ` PASTE TEXT TO DESIGN プロジェクトメソッド
      ` PASTE TEXT TO DESIGN ( キスト)
      ` PASTE TEXT TO DESIGN ( デザインモードの最前面ウィンドウに張り付けるキスト)

   C_TEXT($1)
   C_LONGINT($vlDesignPID;$vlCount)

   $vlDesignPID:=Design process number
   If ($vlDesignPID # 0)
         ` ペーストボードにキストを置く
      SET TEXT TO PASTEBOARD($1)
         ` Ctrl-V / Cmd-V イベントをポスト
      POST KEY(Character code ("v");Command key mask;$vlDesignPID)
         ` DELAY PROCESSを繰り返し呼び出し、スケジューラに
         ` デザインプロセスへのイベントを渡すチャンスを与える
      For ($vlCount;1;5)
         DELAY PROCESS(Current process;1)
      End for 
   End if 

参照

GET PROCESS VARIABLE, PROCESS PROPERTIES, Process state, SET PROCESS VARIABLE.


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