Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
DLLのリロードについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10417#CommentId21395
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
hajime
 (社会人)
投稿日時
2011/9/5 22:33:23
VB2005を使用しています。
SATAを介してドライブと通信を行っているのですが、
動作させているソフトを立ち上げた状態で、ドライブの電源をOFFし、再度ONすると、
通信が出来なくなります。
この状態で、ソフトを再度立ち上げ直すと通信が出来るようになります。
マイコンピュータ上でもドライブの電源OFF・ON後、認識していることを確認しています。
構成ですが、
VC++で通信用のDLLを作成しています。
VBからは、そのDLLをDeclareで使用しています。
DLLの中には、通信用のSCSIドライバ(客先から入手)があり、
こちらで作成したのは、SCSIドライバの関数を呼び出しているだけです。
客先のアプリケーションは(C?)、ドライブ電源をOFF・ONしてもそのまま使うことが出来るのですが、
こちらで作成した(VB)ソフトでは通信が出来なくなります。
客先からも現在聞くことも出来ない状況で、原因も分からない状態です。
そこで、DLLをリロードのようなことをすればうまくいくのではと思い、色々調べたのですが、
解が見つかりません。
他に原因として推測したのは、ドライブ電源をOFFすると、一度確立したドライブとの通信が切れて、
再度電源をONしたときには、別の通信経路(ID?など変化)してしまっているのではと推測しています。(不明)
また、VC++でのDLL作成方法が悪いのか、VBでの呼び出し方が悪いのか、迷走しています。
DLLのリロードの方法がいいのか悪いのかも分からず、
他の方法などもありましたら、どなたかご教示いただけないでしょうか。
よろしくお願いいたします。