人に聞けない痔の悩み、これでスッキリ >>

VB6 でプログラムを作成していますが、たまに"実行時エラー'8021':DCB (Device Control Block)の取得時に、ポートで内部エラーが発生しました。"というメッセージが表示されプログラムが止まってしまいます。どういった内容のエラーなのか分かりませんので、しっている方がいらっしゃいましたら教えて頂きたいのですが。よろしくお願いします。

A 回答 (1件)

誰も回答していないようなので、参考までに。



エラー番号8021を発生させたところ、当方の環境ではそのようなメッセージは表示されず、そのエラーは定義されていないと表示されました。
その事から、そのエラーはVB6標準ではないクラスまたはコントロール等を利用して発生していると思われますので、
その環境をもっと記載しなければ、他の人も回答できないと思います。
(エラーメッセージを見る限りでは、特殊なものを利用しているっぽいので補足説明があっても、私には回答できなさそうですが・・・)
    • good
    • 0
この回答へのお礼

y_an様
回答ありがとうございます。VB6標準のエラーで無い事だけでも分かりましたので助かります。それとy_an様のおっしゃる通り、これだけの質問内容では回答してくれる方が分かりにくいと思いました。反省しております。すみませんでした。以後、気を付けます。

お礼日時:2008/04/08 08:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qシリアル通信エラー

VBのMSCommにてシリアル通信アプリを作成しました。
デスクトップPC(Win2000)では正常に動作するにも関わらず、
ノートPC(WinMe)ではデータ受信時にとりこぼしが発生する様です。
とりあえず、MSCommのOnCommイベントプロシージャ内でCommEventプロパティにて
エラーコードを引っ掛けると、1006(ポート オーバーランです。ハードウェアから 1 文字が読み取られる前に、次の文字が受信されたため、先の文字は失われました。)というエラーが返却されます。
デスクトップPCでは何日か継続して通信させておいても、全くこのエラーが出ないのに
ノートPCでは数秒~数分で頻繁に発生します。
このエラーの意味について調査したのですが、様々なHPを見ると、FIFOバッファ(通常16バイト)のエリアが一杯になり、前にかかれていたデータが上書き
されたという事ではないかという所に辿り着きました。そこで、デバイスのポート設定の詳細
にて受信バッファを低レベル(1バイト受信毎にCPU割り込みを発生)にする事により、なるべく
FIFOバッファの余裕を持たせる設定にすれば、問題は解決あるいは頻度の減少を期待出きる
と思い、設定したのですが、結果は全く変わりませんでした。そこで質問です。
1)このエラーの意味は本当にFIFOバッファのオーバーランなのでしょうか。
2)もし、そうであるならば、解決策はあるのでしょうか?  フロー制御で回避出きる問題ではありませんよね?
3)このFIFOバッファあたりの調査が可能なツールはありますでしょうか?出きれば、本当にFIFOバッファが一杯になる現象がデータとして取得出きればうれしいのですが。

現在、MSCommの設定としては以下の通りです。
Settings=115200,N,8,1
InBufferSize=3000
Handshaking=2

以上、1)~3)すべてでなくても構いません、よろしくお願いします。

VBのMSCommにてシリアル通信アプリを作成しました。
デスクトップPC(Win2000)では正常に動作するにも関わらず、
ノートPC(WinMe)ではデータ受信時にとりこぼしが発生する様です。
とりあえず、MSCommのOnCommイベントプロシージャ内でCommEventプロパティにて
エラーコードを引っ掛けると、1006(ポート オーバーランです。ハードウェアから 1 文字が読み取られる前に、次の文字が受信されたため、先の文字は失われました。)というエラーが返却されます。
デスクトップPCでは何日か継続して通信させ...続きを読む

Aベストアンサー

全てお察しの通りです。
おそらくWin2000マシンの方はパワーがあるので間に合っているが、Meマシンはパワー不足で間に合わず、フロー制御がかからないため、デバイス上のFIFOバッファを使い切り、そこでデータを喪失しているのでしょう。

バイナリーファイルのやりとりならソフトウェアフローは使用できませんね。相手側にもちゃんとハードウェアフローをしてもらうしかないでしょうし、それで解決するはずです。

それと、前回の回答でも書きましたが、ケーブルのせいかもしてないので、その辺はきちんと調査して切り分けてくださいね。

QVB:「実行時エラー53 実行ファイルが見つかりません」

お世話になっています。
VBよりOracle8.1.6に接続し、指定エクセルのデータを
OracleDBにアップロードするというアプリケーションを
社内で配布しています。

一部のPCから、
「実行時エラー53 実行ファイルが見つかりません」
エラーが発生するのです。私のPCからは正常に動作しますし
先週まで成功してたのに今週いきなりこのような現象がおこりまして
悩んでおります。

ちなみに同アプリケーションの別フォームは全PCで正常に
動いていまして、違いといえば、上記エラーが出る場面のみ唯一
Working.aviファイルを実行中呼び出してるところだと思うんですが。

あと先週まで動いてたのに今週から動かないのも気になります。
今週前半にOSのアップデートを行ったのですがそれが原因
だったりすることはあるでしょうか、、
よろしくおねがいします

Aベストアンサー

フルパスで指定しているWorking.aviが、そのパスに存在しなくなったことが原因であると考えられます。
例えば、OSのアップデートにより、ドライブの構成が変わったとか、ありませんか?
あるいは、Working.aviがネットワーク上に存在するとしたら、Working.aviが存在するファイルサーバーの権限等がリセットされ、Working.aviを開けなくなっているとかはありませんか?

エラーが発生しているPCで、エクスプローラー等で、そのファイル自体を探してみて下さい。
そうすることにより、原因が明らかになると思います。

QVB6 エラー「プロシージャの呼び出し、または引数が不正です。」につい

VB6 エラー「プロシージャの呼び出し、または引数が不正です。」について

いつもお世話になっております。

早速ですが、Form_Activateイベント内でこのエラーが出力されていることを
確認いたしました。

ただし、フォームアクティブ時に自動的に流れる時はエラーは出力されず、
明示的にForm_Activateイベント呼び出して動かす時にだけ出ています。

そこで質問です。
(1)Form_Activateイベントを明示的に呼び出すことはプログラム上問題がありますか?
(2)Form_Activateイベントでこのエラーが発生する事例などがあれば教えてください。
(3)画面がアクティブになった際にForm_Activateイベントを明示的に呼び出した場合、
 エラーが起こる事はありますか?
(4)Form_Activateイベント内に限らず、このエラーが出る事例などがあればお教えください。

始めたばかりで低レベルな質問でもうしわけありませんが、よろしくお願いします。

Aベストアンサー

#2です。説明を少し補足。

>Form_Load、Form_Active、Form_Paintの各イベント
>で行なって、フォームのサイズを変えて何が起こるか確認。

は、

Form_Load、Form_Active、Form_Paintの各イベント
で行なって、何が起こるか確認。その後、
フォームのサイズを変えて何が起こるか確認。

です。

QVBでC言語の#ifdefの様な事がしたいのですが....

VBでC言語の#ifdefの様な事がしたいのですが
方法は有りますか?

Aベストアンサー

#If...Then...#Else...#End If と #Const ですね。

Q電源を入れると勝手にBIOS画面に…

ここ1ヶ月くらいPCの様子がおかしく、電源を入れると時々勝手にBIOS画面に行ってしまうことが何回かありました。
でもその度にF10→EnterでBIOSを終了させれば、そのままWindowsが通常通り立ち上がってくれてたので、あまり気にしませんでした。
しかし今日、また勝手にBIOS画面に行っていたので同じようにF10→EnterでBIOSを終了させたら、Windowsは立ち上がらず、そのまま電源が落ちてしまいました。
再び電源を入れると、またBIOS画面に行き、「BIOS終了→電源が落ちる」の繰り返しがしばらく続いてしまいました。
5,6回目でようやくWindowsが起動してくれましたが、この先不安なので、原因と対処法を知っておこうと思いました。
この現象についてご存じの方、おりましたら、原因と対処法をお教え下さい。

PC環境は
ショップブランドPC
CPU:Athlon XP 2000+
MB;:ASUS A7V8X-X/WA/LAN
OS:Windows 2000
です。

Aベストアンサー

#1,4ですが、ご質問の意味がようやくわかりました。
今すぐに対処したいわけではないのですね?
>この先
ではなく、今のうちに対処しておいた方が良いのではないですか?
さらにひどい症状になることも考えられると思いますが。

ただし、「原因と対処法」をこれだけの「普通の症状」で特定することはできません。
可能性のあることをそちらで試していただいて、その結果原因は○○にあった、ということが判別できるのです。
一部重複しますが、ある程度可能性の高いものを記しておきます。

1.CMOSのバックアップ周辺
 >BIOS画面に行くような現象はあれから起きなくなりました
ということで、これが原因である可能性はほとんどなくなりました。
2.ブートセクターの読み取り異常
 今正常に起動しているのなら、この可能性も低いです。
3.電源の容量不足
 1ヶ月ぐらい前に何か電力消費の多いパーツを増設しませんでしたか?
今正常なら、取り外したパーツはありませんか?
電源投入直後はCPU、HDDなどの電力消費が非常に高くなります。
その結果電圧低下が発生して、正常起動しなくなる可能性があります。
当然電源ユニットの故障も考えられます。
4.発熱量の増加(廃熱量の減少)
 これは3.の原因とも絡んでくるのですが、排気、吸気ファンに埃がたまっている場合、HDDが以上に高温になり、異常な動きをすることがあります。
ただ、HDDの高温はフリーズが多いことと、起動直後の不具合という点から、可能性が高いわけではありません。
電源ユニットの冷却がうまくいっていない場合は、ケース内温度の上昇と電圧低下が同時に発生します。
またCPUファンに埃がたまっている場合も、CPUの温度上昇により予想不可能な挙動になることもあります。
当然いろんなファンの問題は埃だけではなく、ファン自体がベアリングや軸などの回転部の磨耗によって故障しかかっているかもしれません。

私が思うに、1,2ヶ月前に何か電源の負荷が増えたか、1年半をかけて徐々にファンに埃が溜まってきた、このどちらかの問題である可能性が高いと思います。
もしまた不具合が発生した時は、対処法として、先ず可能な限り埃を取り除いてください。
それでもダメな場合は、デジタルではない針のテスターで電源電圧を測ってみることが必要です。
電源が落ちる直前に、ガクっと電圧が下がっているかもしれません。

これ以外の原因はもっと小さなものが複合しているはずなので、今の時点では論じる必要がないと思います。

#1,4ですが、ご質問の意味がようやくわかりました。
今すぐに対処したいわけではないのですね?
>この先
ではなく、今のうちに対処しておいた方が良いのではないですか?
さらにひどい症状になることも考えられると思いますが。

ただし、「原因と対処法」をこれだけの「普通の症状」で特定することはできません。
可能性のあることをそちらで試していただいて、その結果原因は○○にあった、ということが判別できるのです。
一部重複しますが、ある程度可能性の高いものを記しておきます。

1.CMOS...続きを読む

QMSCAL.ocxのダウンロードについて

Accessに付属するMSCAL.ocxについて質問させてください。

MSCAL.ocxはAccessをインストールした場合のみ使用でき、MSCAL.ocxのみをコピーして他のPCへ配ることは、ライセンスに抵触する

と認識しています。
しかし、MSCAL.ocxのみをダウンロードするサイトがあります。
http://www.nodevice.jp/dll/MSCAL_OCX/item12149.html

こちらからダウンロードするのもライセンス違反となるのでしょうか?


ご教授よろしくお願いします。

Aベストアンサー

こんぱんは。

こちらのカテゴリでは少し話しが重いですね。そういう私も、今、調べた結果では、私の知っている範囲とは違いました。私の発言は調べて書いていますが、必ずしも、責任を取れるものではありません。

また、そのMSCAL.ocxは、一応、もし、正規のものなら配布している者は、規約違反のみならず、わが国の法律では禁止されています。頒布権のない人が公的に配布はしてはならないわけです。

次に、ダウンロードした者は、ライセンス違反ではなくて、法律違反になるということです。2007年に変更になった改正著作権法のトピックです。

しかし、今後、ダウンロードを含めて、海賊版などのダウンロードすることを法的に取り締まったところで、現実的には不可能な部分があるのではないでしょうか。現行の法律では、刑事罰ではありませんし、罰則規定はありません。

今のところ、警察権は働きませんので、刑法上で取り締まることはできていません。ただ、民事上の問題が残ります。それを、どうやって摘発するか、ということにもなります。そういう監視システムの問題が出てきます。今は、仮に行っていても、憲法上の問題で、それを直接取り締まることは出来ないはずです。

将来的には、いくつかの団体が、無差別の徴収システムが作られる可能性もありますが、そんなことは、架空請求を合法化することと同じことです。日本国内では、正規にダウンロードした者に対して、民事訴訟に発展したケースはないようです。

違法と知って、意図してダウンロードしたかどうか分かりませんし、ましてや、それが違法製品として分かるのは、一部の人たちのみで、一般の人たちには分かりません。それに対して、「情を知って」という法適用の除外項目があったとしても、著作権法が、そんなことで済むようないい加減な内容ではないと思います。著作権法には、未遂や情状はありません。

それに、海外の国によっても、その著作権の範囲が違いますし、日本のように、著作権が切れても、人格権が残るとされる国と、そうでない国では、まったく意味が違ってきます。今、著作権法が権利者団体による権利の主張が、拡大解釈されつつあるように思います。建前論が、個人の権利を侵しかねないのです。個人のダウンロードの違法性に関しても、これが、憲法の保証されてる権利を侵すことにならないか、そういう懸念もされています。

参考サイト
違法コンテンツのダウンロードが“罪”になる
http://ascii.jp/elem/000/000/065/65719/

こんぱんは。

こちらのカテゴリでは少し話しが重いですね。そういう私も、今、調べた結果では、私の知っている範囲とは違いました。私の発言は調べて書いていますが、必ずしも、責任を取れるものではありません。

また、そのMSCAL.ocxは、一応、もし、正規のものなら配布している者は、規約違反のみならず、わが国の法律では禁止されています。頒布権のない人が公的に配布はしてはならないわけです。

次に、ダウンロードした者は、ライセンス違反ではなくて、法律違反になるということです。2007年に変更...続きを読む

QWindows7 アカウントを標準から管理者へ変更

Windows7のPCにて、アカウントの種類の変更方法について質問です。

元々Aさんのアカウントが登録されており、そのアカウントが管理者(Administrator)として設定されていましたが、
自分(B)のアカウントを新たに登録し、現在はBアカウントにてPCを使用しています。
Bアカウントは現在標準ユーザーとなっているのですが、管理者(Administrator)への変更を希望です。

「コントロールパネル」→「ユーザーアカウント」→画面右部にBアカウントの情報が表示されていることを確認。
「アカウントの種類の変更」にて、標準ユーザー(S)にチェックが入っているので、管理者(A)にチェックをし、
「アカウントの種類の変更」をクリックします。
ですが、再度「アカウントの種類の変更」を開くと、標準ユーザー(S)にチェックが入った状態になっています。
Bアカウントを管理者へ変更するにはどうすればいいでしょうか?

Aベストアンサー

解決手順を回答します。

・Bアカウントをログオフ
・Aアカウントでログオン
・「コントロールパネル」→「ユーザーアカウント」→「ユーザーアカウントの管理」から、Bアカウントを選択
・「アカウントの種類の変更」にて、管理者(A)にチェックをし、「アカウントの種類の変更」をクリック
・Aアカウントをログオフ
・Bアカウントでログオン
・Bアカウントが管理者となっていることを確認。
以上で完了です。

アカウントの種類の変更は管理者のみ許可されています。
Bアカウントは管理者ではないため、管理者であるAからBを変更する必要があります。
変更できないのだったらグレーアウトしておくのが正しいUIだと思いますけどね。

QMSCOMCTL.OCXのアップデートの方法

Excel VBAを使っていて
ListviewなどのMSCOMCTL.OCXに依存した
コントロールを使っている場合
MSCOMCTL.OCXに上位互換性がないため、
VBAを含むxlsmファイルを作成したPCとは異なるPCで
そのプログラムを使用するためには
使うPCごとにMSCOMCTL.OCXをアップデートする必要があります。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1198163781

詳細はこのページに書かれてあります。

疑問は、いま、自分が使っているMSCOMCTL.OCXのバージョンが2012年のものなのですが
Windows10にアップグレードするなどした場合に
MSCOMCTL.OCXをアップグレードする必要がありますが
VBAは正常に動作するのでしょうか?

MSCOMCTL.OCXには下位互換性があるのでしょうか?

もし動作しないとして、
一つずつListviewを削除して新規作成するという作業を行う必要があるのでしょうか?
自動更新できる方法があれば教えてください。

Excel VBAを使っていて
ListviewなどのMSCOMCTL.OCXに依存した
コントロールを使っている場合
MSCOMCTL.OCXに上位互換性がないため、
VBAを含むxlsmファイルを作成したPCとは異なるPCで
そのプログラムを使用するためには
使うPCごとにMSCOMCTL.OCXをアップデートする必要があります。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1198163781

詳細はこのページに書かれてあります。

疑問は、いま、自分が使っているMSCOMCTL.OCXのバージョンが2012年のものなのですが
Windows10に...続きを読む

Aベストアンサー

>Win10 PCで作成したVBAをWin7 PCにコピーして使用するためには、
>「~7.0(SP6)(仮称)」にチェックを入れる必要があるはずです。
その場合にはWin7PCではMicrosoft ListView Control 6.0(SP4)にチェックを入れなおせば
まず問題ないはずです。
ちなみに当方のWin7 Office2010 のMicrosoft ListView Controlの実体ファイルの
製品バージョンは6.01.9839
Win10 Office2016(プレビュー版)のmscomctl.ocxのバージョンも同一でした。
単純なテストですが、2016 → 2010 では問題なかったです
VBAはよく言えば枯れた状態ですので大々的なアップデートは無いでしょう。
あったとしたらMicrosoft ActiveX Data Object x.x Libraryと同様
Microsoft ListView Control 6.0・・・
Microsoft ListView Control 7.0・・・
のように複数バージョンが並行して登録されるとおもいます。

>オフィスを常にアップデートして最新の状態にしておく必要があるということでしょうか?
大多数の人は更新プログラムを自動的にインストールする設定にしたままだと思います。
最新にというかリビジョンを合わせた方がつまらないトラブルにならないと思います。
ただ、近年のアップデートは地雷が多すぎて何とも言えなくなりました。。。

>Win10 PCで作成したVBAをWin7 PCにコピーして使用するためには、
>「~7.0(SP6)(仮称)」にチェックを入れる必要があるはずです。
その場合にはWin7PCではMicrosoft ListView Control 6.0(SP4)にチェックを入れなおせば
まず問題ないはずです。
ちなみに当方のWin7 Office2010 のMicrosoft ListView Controlの実体ファイルの
製品バージョンは6.01.9839
Win10 Office2016(プレビュー版)のmscomctl.ocxのバージョンも同一でした。
単純なテストですが、2016 → 2010 では問題なかったです
VBAはよく言えば枯れた状...続きを読む


人気Q&Aランキング