4D v19VP Run offscreen area |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
VP Run offscreen area
|
VP Run offscreen area ( parameters ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
parameters | オブジェクト |
![]() |
オフスクリーンエリアの属性を格納するオブジェクト | |||||
戻り値 | Mixed |
![]() |
onEventオブジェクトの.resultプロパティ、または値を返さない場合にはNull | |||||
VP Run offscreen area コマンドは、メモリ内にオフスクリーンエリアを作成します。このエリアを使用して4D View Pro エリアコマンドやファンクションを処理することができます。
parameters オブジェクト引数には、以下の任意のプロパティのいずれかを渡します。これらのプロパティはonEvent メソッド内においてThis コマンドを通して利用可能であり、そのインスタンスを参照することができます:
プロパティ | 型 | 詳細 |
area | テキスト | オフスクリーンエリアの名前。省略時あるいはnull の場合、一般的な名前(例:OffscreenArea1)が割り当てられます。 |
onEvent | オブジェクト(フォーミュラ) | オフスクリーンエリアの準備ができたときに実行されるコールバックメソッドです。以下のいずれかを渡すことができます:
コールバックメソッドを使用して4D View Pro オブジェクトにアクセスすることができます。4D View Pro フォームオブジェクト変数を参照してください。 |
autoQuit | ブール | True (デフォルト値)だった場合、On End URL Loading または On URL Loading Error イベントが起きた際にはコマンドがフォーミュラの実行を中止します。 False の場合、onEvent コールバックメソッド内でCANCEL あるいは ACCEPT コマンドを使用する必要があります。 |
timeout | 実数 | イベントが何も生成されない場合にエリアが自動的に閉まるまでの最大時間(秒単位)。0に設定した場合、エリアは自動的には閉まりません。デフォルト値: 60 |
result | 任意 | プロセスの結果(あれば) |
<customProperty> | 任意 | onEvent コールバックメソッドで利用可能なカスタムの属性。 |
以下のプロパティは、コマンドによって必要に応じて自動的に追加されます:
プロパティ | 型 | 詳細 |
timeoutReached | ブール | タイムアウトを超えた場合にtrue の値で追加されます |
注: オフスクリーンエリアは、VP Run offscreen area コマンドの実行中にしか利用できません。実行が終わるとエリアは自動的に消去されます。
コールバックメソッドでは、以下のコマンドを使用することができます:
オフスクリーンの4D View Pro エリアを作成し、そこでセルの値を取得したい場合を考えます:
<br/> // OffscreenArea クラス宣言<br />Class constructor <br />C_TEXT($1) <br />This.filePath:=$1<br /><br />// このファンクションはオフスクリーンエリアの各イベントごとに呼び出されます<br />Function onEvent<br />Case of :(FORM Event.code=On VP Ready)<br />VP IMPORT DOCUMENT (This.area;This.filePath)<br />This.result:=VP Get value (VP Cell (This.area;6;22)) <br /><br />ALERT("The G23 cell contains the value: "+String(This.result)) <br />End case
OffscreenArea コールバックメソッドの内容は以下の通りです:
<br/>$o:=cs.OffscreenArea.new()&NBSP;<br/><br/>$result:=VP Run offscreen area($o)<br/>
大きなドキュメントをオフスクリーンで読み込み、計算の評価が完了するのを待ってドキュメントをPDF として書き出したい場合を考えます:
<br/> // OffscreenArea クラス宣言<br />class constructor($pdfPath : Text)<br />This.pdfPath:=$pdfPath<br />This.autoQuit:=False<br />This.isWaiting:=False<br /><br />Function onEvent<br />Case of <br />:(FORM Event.code=On VP Ready)<br /> // ドキュメントを読み込む<br />VP IMPORT DOCUMENT(This.area; $largeDocument4VP)<br />This.isWaiting:=True <br /><br />// 全ての計算が完了したかを検証するタイマーをスタートさせる<br />// この期間中に"On VP Range Changed" イベントが発生した場合、タイマーはリスタートされる<br />// 時間はコンピューターの設定に応じて定義されなければならない<br />SET TIMER(60)<br /><br />:(FORM Event.code=On VP Range Changed)<br />// 計算の完了を感知した、タイマーを再スタートさせる<br />If (This.isWaiting)<br />SET TIMER(60)<br />End if<br /><br />:(FORM Event.code=On Timer)<br />// この時点以降他の4D View コマンドを呼び出してもタイマーが再スタートされないようにする<br />This.isWaiting:=False<br /><br />// タイマーを停止<br />SET TIMER(0)<br /><br />// PDF 書き出しを開始<br />VP EXPORT DOCUMENT(This.area; This.pdfPath; New object("formula"; Formula(ACCEPT)))<br /><br />:(FORM Event.code=On URL Loading Error)<br />CANCEL<br />End case<br />
OffscreenArea コールバックメソッドは以下のようになります:
<br/>$o:=cs.OffscreenArea.new()<br/><br/>$result:=VP Run offscreen area($o)<br/>
プロダクト: 4D
テーマ: 4D View Pro ランゲージ
番号:
905271
初出: 4D v18 R4
4D View Pro リファレンス ( 4D v19)