自ソフトのウィンドウが表示されない

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
tosiyori

自ソフトのウィンドウが表示されない

#1 投稿記事 by tosiyori »

RADツールで フォームを作成し 勉強してます
しかし ソフトを起動すると 画面表示がありません

ループを使用して 30分になったら 処理をしたいのですが
Window表示が 出なくて困ってます
よろしく お願いします

sub getTime()
Dim st As SYSTEMTIME
dim minute as Integer

Beep(600,1000)
ShowWindow(hMainWnd,SW_SHOW)

Do
Sleep(2000)
GetLocalTime(st)
minute=st.wMinute
if minute = 30 then exit Do
Loop

--処理----
End Sub
abw

#2 投稿記事 by abw »

ウインドウが表示されないということですが、まず作成したウインドウ、
これのウインドウプロパティの可視にチェックが入っていることを確認します。

チェックが入っているのに表示されなければウインドウスタイルがチャイルドになっていませんか?
これをオーバーラップにします。

これでも表示されなければウインドウのタイプがモードレスまたはモーダルになっていると思いますので通常ウインドウにチェックをいれます。

これでも表示されないなら、あなたのコードに何か原因があると思われます。

getTime()がどこから呼ばれているのかわかりかねますが、
これがサブスレッドでなければそのプログラムは処理をメッセージループに返しませんので、フリーズします。。。

よってタイマーイベントに切り替えるか、サブスレッドで処理しなければいけません…
tosiyori

ありがとう ございます

#3 投稿記事 by tosiyori »

引越しをしていて お礼が遅くなりました。すみません。


SetTimer(hMainWnd,ID_TIMER,5000,0) と

Sub MainWnd_Timer(TimerID As Long)
   getTime()
End Sub

を 組み合わせて OKになりました

お世話になりました
返信する