iill_MMpStatus( int ) MailMakerPop+.fmx 2.0.1.3 以降 構文 iill_MMpStatus( 0 or 1 ) 引数 0 or 1 1 = プラグインの使用開始を宣言する。 0 = プラグインの使用終了を宣言する。 戻り値 0 or タイムスタンプ 引数(1)の場合、 別のプロセスで既にプラグインの使用開始宣言がされている場合、 その時のタイムスタンプ プラグインの使用開始宣言がされていない場合、 0 引数(0)の場合、 0 説明 FileMaker Server スケジュールで【MailMakerPop+ for FileMaker Server】を使用する場合の排他制御の為に使用します。 ※FileMaker Pro(クライアント)で【MailMakerPop+】を利用の場合は、特に「iill_MMpStatus( int )」関数を設定する必要は、ありません。 【MailMakerPop+ for FileMaker Server】は、プラグイン内部で情報(メモリ)を共有しています。 その為、FileMaker Server スケジュールで【MailMakerPop+ for FileMaker Server】を利用したFileMakerスクリプトの実行が重なってしまうと動作不良になります。 ※FileMaker Server スケジュールから実行する場合、「MailMakerPop+ for FileMaker Server」を使用したスクリプトの実行が、重ならない様に設定すると共に「iill_MMpStatus( int )」関数で明示的に排他制御を行なって下さい。 ※注意! 「iill_MMpStatus( int )」関数は、プラグインの使用開始・終了のフラグを立てているだけで、この関数自体で排他制御をしているわけではありません。 排他制御は、FileMakerのスクリプトで行なって下さい。 例: #プラグインの使用開始を宣言する。 変数を設定 [$MMpStatus; 値:iill_MMpStatus(1)] 既にプラグインの使用開始宣言がされている場合、 その時のタイムスタンプ 例:2013/3/7 17:18:30 が返ります。 プラグインの使用開始宣言がされていない場合、「0」 が返ります。 戻り値が「0」の場合、処理をすすめる。 戻り値が タイムスタンプ 例:2013/3/7 17:18:30 の場合、処理を停止するようにFileMakerスクリプトを設定して下さい。 #プラグインの使用終了を宣言する。 変数を設定 [$MMpStatus; 値:iill_MMpStatus(0)] ※別のプロセスの宣言でも強制的に「0」を設定します。 #例では、何かしらのトラブルでプラグインの使用開始状態のままで20分以上立っている場合は、強制解除し、スクリプトの処理を続行するようになっています! 変数を設定 [$MMpStatus; 値:iill_MMpStatus(1)] If [$MMpStatus ≠ 0] 変数を設定 [$MMpStatusTS; 値:GetAsTimestamp ( $MMpStatus )] #20分以上立っている場合は、強制解除 If [$MMpStatusTS+1200 < Get ( タイムスタンプ )] 変数を設定 [$MMpStatus; 値:iill_MMpStatus(0)] 変数を設定 [$MMpStatus; 値:iill_MMpStatus(1)] Else #Log記録|MMPLib_Error_Log 変数を設定 [$Log; 値:"-ER|" & Get ( アプリケーションバージョン ) & "|スクリプト:lib_Test_login...|" & $MMpStatus & " から他のスクリプトで 「MMP+」が、利用されています。|" & MMPLib::gAccount & "/" & MMPLib::gServer] 現在のスクリプト終了 [結果: $Log] End If End If # |
マニュアル >