PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13466 00/10/05 11:53:56 PB4.0.07: windowのtimerイベントについて By akiyoshi

カテゴリ:PowerBuilderの開発環境
日付:2000年10月05日 11:53 発信者:akiyoshi
題名:PB4.0.07: windowのtimerイベントについて

初めて質問させていただきます。

現在作成しているシステムの中でスキャナーを使用してイメージを取り込む画面を手がけています
イメージの取り込み方法は以下です
・画面にイメージ表示(操作)用のVBXを指定したユーザオブジェクトとスキャナー操作用のVBX(TWAIN.DLLを動かしている)を
  指定したユーザオブジェクトを貼る。
・スキャナー操作用のVBXのあるプロパティーに値をセットする事によりスキャンを開始します。
・スキャン終了後同VBXの別のプロパティーにスキャンイメージのDIBハンドルがセットされます。
・そのDIBハンドルを取得し、イメージ表示用のVBXにセットする。


もともとVBXを使用するサンプルがVBで存在していました。
VBと同様の処理をPBで行おうにも、かなり不可解な現象の続出で結果、以下の方法でしか正常に動きませんでした
・windowのユーザーイベント内でVBXのプロパティーに値をセットしスキャンを開始させる
・同イベント内でtimerイベントを呼ぶ
・timerイベントにてスキャナー操作用のVBXに指定したユーザイベントを呼ぶ
・スキャナー操作用のVBXに指定したユーザイベント内でプロパティー(DIBハンドル)を取得し、表示用VBXにセットする

なぜtimerイベントを使用しているのか不思議に思うでしょうね。
timerイベント以外のイベントではVBXのプロパティーが全く参照できないのです(最短timer(0.055)でもOK)
しかも2,3回立て続けに参照してやっと取得できるのです
この事につては深追いするつもりはありません(大変な事になりそうなので)

長々と書きました、やっと質問です
スキャン終了後に呼ぶtimerイベントが起動しない事があるんです、しかし必ずではなくスキャンの処理を繰り返したときや
VBXを非表示にした時など画面内でなにか処理を行った後、特にMDIフレーム内に他のwindowが開いている時は頻繁です。
しかしどれも必ずではなくtimerが起動するときもあれば、しないときもあると言った感じです

PBのバージョンも古く…ですが、お心当たりの方がいらっしゃいましたらぜひ教えてください






付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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