timeSetEventの使用方法について

解決


VBひよっこ  2006-07-20 13:53:48  No: 96050

timeSetEventを勉強するため次のサンプルをテストしてみました。
VBのエディタ上で実行すると問題なく動きますが、exeを作成して
exeを実行すると、エラーが発生してしまいます。
エラー番号などの表示がなく「問題が発生したため・・・・送信する
・しない」のポップアップ表示となります。

また  sleep 500 をコメントにした場合は、 exeでも問題なく動作し
ます。

timeSetEventの中で他のAPI 関数が呼べない仕様なのでしょうか。
超初心者なので、とんでもない勘違いをしているかもわかりませんが
よろしくご指導お願いします。

環境:Windows XP VB6.0

'########################## 標準モジュール ######################

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'<timeSetEvent> ****************** 高精度タイマ
Declare Function timeSetEvent Lib "WINMM" _
                        (ByVal uDelay&, _
                        ByVal uResolution&, _
                        ByVal lpFunction&, _
                        ByVal dwUser&, _
                        ByVal uFlags&) As Long
                        
'<Timer STOP> ***************タイマを停止
Declare Function timeKillEvent Lib "WINMM" _
                        (ByVal uID&) As Long
                        
'
Public tmevent           As Long
Public i                 As Long
'-----------------------------------------------------------
Public Function TIMER_PROC(ByVal IDEvent As Long, _
                        ByVal uReserved As Long, _
                        ByVal dwUser As Long, _
                        ByVal dwReserved1 As Long, _
                        ByVal dwReserved2 As Long) As Long
        i = i + 1
        Form1.Label1.Caption = i
        
        '*****************
            Sleep 500
        '*****************
        
        DoEvents
End Function

'########################## フォーム ######################

'timeSetEventでテスト
Private Sub Command1_Click()
    tmevent = timeSetEvent(1000, 1, AddressOf TIMER_PROC, 0, 1)
End Sub

'timeSetEvent 停止
Private Sub Command2_Click()
    timeKillEvent tmevent
End Sub


K.J.K.  2006-07-20 15:17:28  No: 96051

コールバック関数を使って、且つ、Native-Code-Compileしたければ、
http://www.koalanet.ne.jp/~akiya/vbtaste/vbp/StpWch20.lzh
のような感じで。

こうするのが面倒なのであれば、
http://www.koalanet.ne.jp/~akiya/vbtaste/vbp/StpWch00.lzh
のような感じで。


VBひよっこ  2006-07-20 16:25:00  No: 96052

K.J.K.さん。またまたお世話になりました。ありがとうございました。
K.J.K.さんに示していただいたプログラムは、ソースの理解にしばらく
時間がかかりそうです。(つくづく未熟さを痛感しました)
しかし、がんばって理解しようと思います。

>Native-Code-Compileしたければ
また、おはずかしい話ですがexeの作成方法に2種類あるのも初めて知り
ました。P-CODEを選択してexeを作成したところ、exeで動作しました。
さらに色々知らべていきたいと思います。
ほんとうにありがとうございました。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加