4D v16.3New process |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
New process
New process
New process コマンドは、(同じマシン上で) 新しいプロセスを開始し、そのプロセス参照番号を返します。 プロセスが作成できない場合 (例えば、メモリ不足) 、New processは0を返し、エラーが発生します。このエラーはON ERR CALLでインストールされたエラー処理メソッドを使用してとらえることができます。 methodには、新しいプロセスのプロセスメソッド名を指定します。4Dは新規プロセスのコンテキストを設定した後、このメソッドの実行を開始します。したがって、これがプロセスメソッドになります。 stack 引数を使用すると、プロセスのスタックのために割り当てられたメモリ量を指定することができます。この空間が、メソッド呼び出し、ローカル変数、サブルーチンの変数、スタックされたレコードを”積み上げる”ためのメモリーです。
注: スタックはプロセスの合計メモリではありません。各プロセスはレコードやインタープロセス変数等のためにメモリを共有します。またプロセスはプロセス変数 の保持に追加のメモリを使用します。スタックには 4D の情報のさまざまな項目が格納されます。スタックに格納される情報の量は、ネストしたメソッドの呼び出し 数、前のフォームが閉じられる前に開かれたフォームの数、ネストしたメソッドで使用されるローカル変数のサイズに基づきます。 64-bit 4D Server についての注: 64-bit 4D Server で実行されるプロセスのスタックは 32-bit 4D Server より多くのメモリー量を必要とします (大体2倍程度)。64-bit 4D Server でコードが実行されることが予測される場合、この引数の値をチェックしてください。 nameには新しいプロセスの名前を指定します。シングルユーザーモードでは、ここで指定した名前がランタイムエクスプローラーのプロセスリストに表示され、この新しいプロセスに対して PROCESS PROPERTIES コマンドを実行するとこの名前が返されます。この引数は省略することができます。省略した場合、プロセス名は空の文字列になります。ローカルスコープのプロセスを作成するには、名前の先頭にドルサイン ($) をつけます。 重要: クライアント/サーバーにおいて、ローカルプロセスはデータにアクセスしてはいけないことに注意してください。 一つ以上のparam引数を使用して、プロセスメソッドに引数を渡す事ができます。サブルーチンにパラメーターを渡すのと同じ要領でプロセスメソッドに引数を渡します(メソッドに引数を渡すの章を参照して下さい)。プロセスメソッドは、新規プロセスのコンテキスト内で実行を開始する際に、$1、$2、等に引数の値を受け取ります。メソッドに対して配列を引数として受け渡すことができない点に留意してください。それに加え、New processコマンドのコンテキストでは以下の条件も考慮する必要があります:
この最後の引数を指定した場合、4Dははじめにnameに指定した名前を持つプロセスが既に実行されているかどうかを調べます。同一名のプロセスが存在する場合、4Dは新規プロセスを開始せずにその名前を持つプロセスのプロセス番号を返します。 以下のプロジェクトメソッドがある時: ` ADD CUSTOMERS メニューバーエディタでカスタムメニュー項目にこのプロジェクトメソッドを指定し、新規プロセス開始チェックボックスをチェックしている場合、4Dはそのメソッドを実行する新規プロセスを自動的に開始します。SET MENU BAR(1)を実行すると、この新規プロセスに対してメニューバーが追加されます。ウィンドウ (Open windowコマンドでオープンするウインドウ) が何も存在しない場合、ADD RECORDコマンドを実行することにより、自動的にウィンドウが開かれます。 カスタムのコントロールパネルのボタンをクリックすると、“Add Customers”プロセスが開始されるようにするには、以下のようにします: ` bAddCustomers button object method このボタンは、先に作ったメニュー項目と同じことを行います。 メニュー項目を選択したり、このボタンをクリックすると、プロセスを開始 (そのプロセスが存在しない場合) またはプロセスを前面に配置 (そのプロセスが既に実行中の場合) したい場合、以下のようにSTART ADD CUSTOMERSメソッドを作成することができます: ` START ADD CUSTOMERS bAddCustomers のオブジェクトメソッドは以下のようになります: ` bAddCustomers button object method メニューバーエディタでADD CUSTOMERSメソッドをSTART ADD CUSTOMERSメソッドと置き換え、メニュー項目の新規プロセス開始チェックボックスを選択解除します。
参照
|
プロパティ
プロダクト: 4D 履歴
変更: 4D 2004.3 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||