Previous

概要: baPreviousはプロジェクタを重複起動した際に、先に起動しているインスタンスがあるかどうかをチェックします。

シンタックス: Result = baPrevious( Activate )

パラメータ: #integer
Activate trueを指定すると、先に起動していたプロジェクタをアクティブにして前面へ移動します。

戻り値: #integer
先に起動していたプロジェクタがあった場合はそのウィンドウのハンドルを返します。それ以外は0を返します。

例: if baPrevious( true ) <> 0 then quit

ノート: Directorはスクリプトが実行される前に自身のウィンドウを表示します。つまり先に起動していたプロジェクタがアクティブになる前に、後から起動したもののウィンドウが見えてしまいます。

このファンクションは、Windows NTでは最初に開いたプロジェクタのみを認識します。例えば、プロジェクタを3つ重複起動した後に最初のひとつを終了させます。すると3番目でbaPreviousを使用した場合は0を返します。つまり2番目に起動したプロジェクタを先に起動したコピーとして認識できません。Windows 95および3.1では3番目のプロジェクタが2番目を先に起動したものとして区別することができます。

フルスクリーンのプロジェクタで、先に起動したコピーをアクティブにする場合は次のスクリプトを使ってください。上記「例:」のものではステージの位置が変わってしまいます。

wnd = baPrevious( false )
if wnd <> 0 then
    baWindowToFront( wnd )
    quit
end if