DLLがない場合に回避するには?


KAZ  2007-05-09 00:09:24  No: 136335

VB6.0 SP5  XP
操作支援ソフト用に用意されているDLLファイルを一部操作に使用していますが、
支援ソフト未導入の環境では『実行時エラー'53'ファイルが見つかりません○○○.DLL』
と表示されて落ちます。
DLLの再配布が禁止とのことでしたので特別な処理は On Error GoTo でほぼ回避できているのですが、
一部処理時のみエラーが回避できません。どこが違うのか模索中です。

実行時に目的のDLLがない場合にはそのDLL関連の動作を全て無視させることは可能でしょうか?
VB暦が浅く勉強しながらの手探り状態で作業を行っております。宜しくお願いします。


魔界の仮面弁士  2007-05-09 00:51:17  No: 136336

> 一部処理時のみエラーが回避できません。どこが違うのか模索中です。
詳細情報が一切提供されていませんから、その問題を解決できるのは、
KAZ さん自身だけという事になりそうですね…。

> 実行時に目的のDLLがない場合にはそのDLL関連の動作を全て無視させることは可能でしょうか?
と言われましても、どんな処理をしているのかわかりませんし。
なんにせよ、「無視するためのコード」を追加してやる必要はあるでしょうね。

ActiveX DLL であれ、Declare ステートメントを使うタイプの DLL であれ、
ファイルが無いまたは呼び出しエラーとなった場合には、If ステートメントで
「その外部プロシージャを使う処理」を呼び出さないよう、分岐制御する、と。


タカ  2007-05-09 06:26:49  No: 136337

そのほかのエラーはすべて対処できているのでしょうか?

たとえば
  メモリ不足の予告
  ディスク容量不足の予告
  ディスクR/Wエラー
  ユーザの誤操作
などの場合に(必要であれば)エラーメッセージを表示して、復旧プログ
ラムを実行しますよね?

その中に質問の項目を新しく追加すればいいと思うのですが。
WindowsやOfficeでのエラーメッセージがお手本ですね。

簡単なアプリでも数十個のエラー項目はあると思います。


KAZ  2007-05-09 20:11:41  No: 136338

返信ありがとうございます。

>魔界の仮面弁士さん
完成しているものに対して読み上げの追加処理を行っているのですが、
知識不足の自分には複雑でどこを記述したらよいものか不明でした。

まずは使用PCに対象のDLL有無チェックをする方法があるかのを確認し、
IfやCaseで回避させることなど検討したいと思います。
ありがとうございました。

>タカさん
ユーザの誤操作などに対しては入力情報に対してチェックを行い、
メッセージを表示させ修正を促す処理になっています。
DLLを利用した読み上げソフトを導入していない場合には処理が不要
ですので無視させたいと考えていました。
更なる見直しを行いたいと思います。ありがとうございました。


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

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






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