PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
22922 07/02/01 08:41:25 RE(1):Run関数の動作について By 梶
22921 07/01/31 13:22:04 Run関数の動作について By 竹田_則之

カテゴリ:PowerBuilderの開発環境
日付:2007年01月31日 13:22 発信者:竹田_則之
題名:Run関数の動作について

はじめまして、竹田です。よろしくお願いします。
PB5.0.3からPB10.2.1への移行をしてるんですが、そこで1つ質問があります。

RUN関数を使い、wait.exeというexeファイルを起動しています。
wait.exeは「しばらくお待ち下さい」と表示するだけのexeで、処理はアニメーションしか
行ってません。

実際には↓の様に使ってます。


1.wait.exeを起動。(しばらくお待ち下さい画面を表示)


2.処理A


3.wait.exeを終了。(しばらくお待ち下さい画面を閉じる)

処理Aが終わるまで、しばらくお待ち下さい画面を表示するようにしてます。
PB5では、この記述で動作しているのですが、PB10に移行した所↓の様な処理になります。


1.wait.exeを起動。(画面は表示されず)


2.処理A


3.wait.exeを終了。(画面が表示されていないので、エラー)


4.(しばらくお待ち下さい画面を表示)

1の時点で、すぐに起動されず、間を置いて起動されるのですが、起動処理中に
3を通ります。4でようやく表示されるのですが、以降に画面を閉じる命令が無い為、
wait.exeが表示されたままになってしまいます。

対応策として、1で画面が起動するまで待機する処理を加えました。
(FindWindowA関数で、ウィンドウがあるかチェックし、無ければSleepして待機)
一応、この対応策で期待通りの動作はするようになりました。

PB5では自動的にwait.exeが起動されるまで待機されているようなのですが、何か
原因をご存知の方はいらっしゃいませんか? 推測でも構いません。

PB5の方の環境は、WindowsNTで、PB10の環境がXPなのでOSの問題かもしれないとは
思ったのですが。
心当たりのある方、ご教授お願いします。

起動時、終了時のソースも添付します。


Run(\"Wait\") //起動
… //処理A
l_handle = FindWindowA(0,\"Wait\") //ハンドルの取得
CloseWindow(l_handle) //wait.exeを終了


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.