本掲示板の「エクスプローラのコピー、切り取りを判定したい。」のレスにある「FolderItemVerbを使う方法」で、エクスプローラでコピーしたファイルを所定のフォルダに貼り付ける処理をしました。
デバッグモードでは正しく実行できたのですが、コンパイルしてExeから実行するとアプリケーションエラーが発生します。
MsgBoxを付けまくってエラーの発生場所を調査したところ、FolderItemVerbを記述したプロシージャから帰ってくる時(End Sub実行後、Callの次の行までの間)でエラーが発生しています。
どなたか対処方法をご教示いただければ幸甚です。
尚、VB6を使用しています。
>デバッグモードでは正しく実行できたのですが、
ちなみに、完全コンパイルは通っていますか?
注意点
・TimerコントロールはIDE上の実行とEXE単体の実行では動きが違う
例)
Option Explicit
Private WithEvents tmr As Timer
Private Sub Form_Load()
Set tmr = Me.Controls.Add("VB.Timer", "tmr")
Me.Show
DoEvents
tmr.Interval = 100
tmr.Enabled = True
MsgBox "メッセージボックスとか表示してみる"
End Sub
Private Sub tmr_Timer()
Me.Caption = Me.Caption & ">"
End Sub
アドバイス有難うございました。
完全コンパイルでもうまく動作します。
また、プロシージャの最後に下記のダミー行を入れましたが、
うまく動作しません。
Dim TM
TM = Timer
Do While Timer - TM < 1
Loop
よろしくお願い致します。
そうそう。
肝心の、エラーの内容は何ですか?
何も例外の表示がなく落ちてしまうのなら、再現可能なコードがあればやるきが起きるかもしれません。
レス有難うございました。
Dr.Watosonのログから拾ってみました。
この下にも色々と記載されていましたが、他に入用な情報が
有ればご指示願います。よろしくお願い致します。
アプリケーション例外が発生しました:
アプリケーション: (pid=1288)
発生時間: 2006/02/06 @ 20:05:22.773
例外番号: c0000005 (アクセス違反)
*----> システム情報 <----*
プロセッサの数: 1
プロセッサの種類: x86 Family 6 Model 13 Stepping 8
Windows 2000 Version: 5.0
現在のビルド: 2195
Service Pack: 4
現在のタイプ: Uniprocessor Free
何故か解りませんが、突然ちゃんと動くようになりました。
不気味では有りますが、暫く様子を見ることにします。
お騒がせしました。
また、レスを戴いた方に改めて御礼申し上げます。
ツイート | ![]() |