トップページ > 記事閲覧
例外エラーについて
名前:くりきんとん 日時: 2015/08/23 01:47

度々申し訳ありません、お世話になっております。 この度Dxライブラリを更新して以降 「ハンドルされない例外が0x664EC2F7(〜〜.exe)で発生しました:0xC000005:Access violation(パラメーター:0x00000008)。 というエラーが出て直せず苦戦しております。 DxLib_End();を外した際にこのエラーが出なくなるのですが、これはバグでしょうか・・・? 必要であればプロジェクトファイルもお送りいたします。よろしくおねがいします。
メンテ

Page: 1 |

Re: 例外エラーについて ( No.1 )
名前:管理人 日時:2015/08/23 09:39

> この度Dxライブラリを更新して以降 以前お使いだったDXライブラリのバージョンは幾つでしょうか? > DxLib_End();を外した際にこのエラーが出なくなるのですが、これはバグでしょうか・・・? もし以下のような DxLib_Init を実行した直後に DxLib_End を実行しても発生する ということでしたら間違いなくDXライブラリのバグです #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウインドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; // DXライブラリの後始末 DxLib_End() ; // ソフトの終了 return 0 ; } ただ、↑このプログラムではエラーが発生しない場合は詳しく原因を調べてみないと DXライブラリのバグなのか、DXライブラリを使用している側のプログラムが原因なのかは判断できません・・・ > 必要であればプロジェクトファイルもお送りいたします。よろしくおねがいします。 すみません、ではこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけますでしょうか? m(_ _;m あと、公開されている最新バージョンの 3.14f から幾つかバグを修正したこちらの暫定最新バージョンが ありますので、よろしければこちらでも同様のエラーが発生してしまうかお試しになってみてください https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: 例外エラーについて ( No.2 )
名前:くりきんとん 日時:2015/08/23 13:59

すみません記入不足でした・・・ DXライブラリのバージョンはこの掲示板で修正をされていたものを使用しています。 (2015/8/11の「最新版のフォントについて」トピックにあったバージョンです) いただいたリンクの物を使用してもエラーが出てしまうようです。 管理人様のコードを実行してみましたが、例外エラーはでませんでした、 お手数おかけして申し訳ないです・・・! 連絡先の方に送信しました、ご確認よろしくお願いします。
メンテ
Re: 例外エラーについて ( No.3 )
名前:管理人 日時:2015/08/23 22:37

メールありがとうございます いただいたそのままでは手元では何もエラーが発生しなかったのですが、 SetUseDirect3DVersion(DX_DIRECT3D_9EX); こちらの行をコメントアウトしたところ手元の環境でもエラーが発生するようになりました 原因は MV1LoadTexture で読み込んだ画像が DxLib_End の呼び出し前に DeleteGraph で削除されていなかった場合 後始末の処理が正しく行われないというもので、DXライブラリのバグでした このバグがくりきんとんさんの環境で発生したエラーの原因でもあるのかはわかりませんが、修正したところ とりあえず私の環境ではエラーが発生しなくなりましたので、よろしければこちらの修正版をお試しになってみてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) あとこちらのスレッド http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3622 で発生している現象ですが、先ほどの SetUseDirect3DVersion(DX_DIRECT3D_9EX); こちらの行をコメントアウトしたところ私の環境でもエフェクトの描画結果の違いが確認できました こちらの件も修正したいと思いますので、よろしければこちらのエフェクトを描画している箇所の ファイル名と行番号を教えていただけないでしょうか?
メンテ
Re: 例外エラーについて ( No.4 )
名前:くりきんとん 日時:2015/08/24 00:08

ご丁寧な対応ありがとうございます。 確認してみたところやはり私の環境ではエラーが出てしまいました・・・。 描画が変わってしまうエフェクトを描画している部分は、 main.cppの 5675~5741行目の関数内と、 5743~5811行目の関数内で行っています。 1843行目と、2378行目でも描画をしています。
メンテ
Re: 例外エラーについて ( No.5 )
名前:管理人 日時:2015/08/24 01:58

駄目でしたか・・・ 原因である可能性は低いですが、頂いたプロジェクトにはプロジェクトの設定の 「C/C++」→「全般」の「追加のインクルード ディレクトリ」として C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用;C:\DxLib_VC\サンプルプログラム実行用フォルダ; の二つのフォルダが指定されていますので、 こちらを使用していない方のフォルダのパスを削除した上で、再度試してみていただけないでしょうか? > 描画が変わってしまうエフェクトを描画している部分は、 > main.cppの > 5675~5741行目の関数内と、 > 5743~5811行目の関数内で行っています。 >  > 1843行目と、2378行目でも描画をしています。 ありがとうございます 本スレッドの方を優先したいと思いますので直ぐには対応できないかもしれませんが、 調べてみます
メンテ
Re: 例外エラーについて ( No.6 )
名前:くりきんとん 日時:2015/08/24 04:07

フォルダー指定の所、気づきませんでした・・・ありがとうございます! あと先ほどはこちらがDXライブラリの更新をミスしていたみたいです(汗) 先ほど適用し直したところSetUseDirect3DVersionを外した時のエラーと、終了時に出るエラーが出なくなりました、 度々ご迷惑おかけして申し訳ないです;; 丁寧な対応本当にありがとうございます・・・!
メンテ
Re: 例外エラーについて ( No.7 )
名前:管理人 日時:2015/08/25 01:05

> 先ほど適用し直したところSetUseDirect3DVersionを外した時のエラーと、終了時に出るエラーが出なくなりました、 SetUseDirect3DVersion を外さなかった時のエラーは相変わらずでしょうか・・・? ともあれ、こちらのスレッド http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3622 の問題( エフェクトの透明度の高い部分が描画されない )を修正できましたので、 何度も申し訳ありませんがよろしければこちらをお試しになってみてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: 例外エラーについて ( No.8 )
名前:くりきんとん(解決) 日時:2015/08/25 11:35

SetUseDirect3DVersionを外さなかった時のエラーも不定期に出てきていたのですが、更新してから一度もエラーが出てこなくなりました! そしてエフェクトの描画が変わっている 現象も無くなったことを確認しました。 この度は本当にありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存