この前人に質問するのは余り好きではないといったのですが、とても困っているので質問します・・・・
アニメーションが出来たのですが、効果音が大きかったので小さくしようとして音楽の音量を変える関数を使ったのですが、
全然小さくなりませんでした。調べてみると、dxlibの不具合で、既に修正されている問題でした。
そこで、新しいバージョンにしようとし、dxlibをダウンロードして プロジェクトに追加すべきファイル_VC用 の中のファイルをコピーして
ファイルを上履きしました。(古いファイル→新しいファイル)
そして、デバッグしてみると、エラーで出来なくなってしまいました。
どうやらリビルドというものをしないといけないみたいです。そこで、リビルドをした後にデバッグをしました。
それでもエラーが出ています。エラーの内容は 問題が発生したため○○○.exeを終了します というものです。
これは古いものから新しいものに変えたため起きたのでしょうか?
システムの復元で前に戻してみたのですが、VisualStudioC++2008の中身は変わらないようです。
VisualStudioC++2008を再インストールしたら直りますか?
本当に困っています。もう、諦めるしかないのでしょうか・・・・。
せっかくここまできたのに・・・・
バージョンが違うdxlibを
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: バージョンが違うdxlibを
どちらかと言うとバグが表面化しただけで、実はバグを内包していたのでは?と疑ったほうが良いです。
つまり、バグを取らないといけません。
デバッグビルドすると細かいエラーが出ると思いますので、デバッグでリビルドして実行してエラーの詳細とエラーを起こした箇所を教えてください。
もしかしたらリリースビルドでしか出ないエラーかもしれませんが、それでも状況を教えてください。
それと「システムの復元」で戻るのはシステムの部分なので自分でコピーした「プロジェクトに追加すべきファイル_VC用」はもとに戻りません。
[追記]
過去のやりとりを見ましたが、よく理解せずに強引にねじ伏せている可能性が高い様に思われます。
最新のコードを貼っていただいたほうが良いでしょう。
つまり、バグを取らないといけません。
デバッグビルドすると細かいエラーが出ると思いますので、デバッグでリビルドして実行してエラーの詳細とエラーを起こした箇所を教えてください。
もしかしたらリリースビルドでしか出ないエラーかもしれませんが、それでも状況を教えてください。
それと「システムの復元」で戻るのはシステムの部分なので自分でコピーした「プロジェクトに追加すべきファイル_VC用」はもとに戻りません。
[追記]
過去のやりとりを見ましたが、よく理解せずに強引にねじ伏せている可能性が高い様に思われます。
最新のコードを貼っていただいたほうが良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
small
Re: バージョンが違うdxlibを
ご回答ありがとうございます。
>>つまり、バグを取らないといけません。
>>デバッグビルドすると細かいエラーが出ると思いますので、デバッグでリビルドして実行してエラーの詳細とエラーを起こした箇所を教えてくださ>>い。
デバッグ、ビルド、リビルドなどやってみて、問題の点がわかりました。
デバッグすると、
int StartTimer = GetNowCount();
ココで問題点が発生したため・・・ というエラーがでます。
デバッグするとでるエラー:
chap4.exe の 0x00000000 で初回の例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
chap4.exe の 0x00000000 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
でした、色々調べてみたところ、ポインタどうたらと書いてありました。
良く分からないので、デバッグが止まってしまう箇所を削除して実行してみたところ、正常に出来ました。
そこで、
int StartTimer;
そして、 その後に
StartTimer = GetNowCount();
としてみたところ、正常にデバッグできました。
いまいちなにが原因なのかわからないのですが、デバッグできたので、解決・・・ とします。
本当にありがとうございました。
システムの復元について、詳しく解説していただきありがとうございます。
今までシステムの復元は万能だと思ってました。
強引にねじ伏せてる感が否めないですが・・・一応コレで解決にします。
>>つまり、バグを取らないといけません。
>>デバッグビルドすると細かいエラーが出ると思いますので、デバッグでリビルドして実行してエラーの詳細とエラーを起こした箇所を教えてくださ>>い。
デバッグ、ビルド、リビルドなどやってみて、問題の点がわかりました。
デバッグすると、
int StartTimer = GetNowCount();
ココで問題点が発生したため・・・ というエラーがでます。
デバッグするとでるエラー:
chap4.exe の 0x00000000 で初回の例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
chap4.exe の 0x00000000 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
でした、色々調べてみたところ、ポインタどうたらと書いてありました。
良く分からないので、デバッグが止まってしまう箇所を削除して実行してみたところ、正常に出来ました。
そこで、
int StartTimer;
そして、 その後に
StartTimer = GetNowCount();
としてみたところ、正常にデバッグできました。
いまいちなにが原因なのかわからないのですが、デバッグできたので、解決・・・ とします。
本当にありがとうございました。
システムの復元について、詳しく解説していただきありがとうございます。
今までシステムの復元は万能だと思ってました。
強引にねじ伏せてる感が否めないですが・・・一応コレで解決にします。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: バージョンが違うdxlibを
それが原因とは思えませんので、完全にねじ伏せだと思いますよ。small さんが書きました:そこで、
int StartTimer;
そして、 その後に
StartTimer = GetNowCount();
としてみたところ、正常にデバッグできました。
いまいちなにが原因なのかわからないのですが、デバッグできたので、解決・・・ とします。
本当にありがとうございました。
何かのタイミングでバグが再現しないとは限りませんので時間がある限り調べるべきだと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: バージョンが違うdxlibを
GetNowCountってDxLib_Initしたあとに呼び出さないとダメですよね。
むかしはそうじゃなかったのでしょうか。
それがアクセス違反の原因か分からないですけど。
むかしはそうじゃなかったのでしょうか。
それがアクセス違反の原因か分からないですけど。