4D v16.3

Process number

ホーム

 
4D v16.3
Process number

Process number 


 

Process number ( name {; *} ) -> 戻り値 
引数   説明
name  文字 in プロセス番号を取り出すプロセス名
in 4D Serverのプロセス番号を返す
戻り値  倍長整数 in プロセス番号

説明   

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
テーマ: プロセス
番号: 372

This command can be run in preemptive processes

 
履歴 

初出: 4D v6

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)