ページ 11

C++/CLIでDxライブラリを使うプログラムで,例外がスローされます。解消するにはどうすればよいですか?

Posted: 2016年10月11日(火) 21:58
by Mokutsuno
Visualstudio2015community、C++/CLIでDxライブラリを使用するプログラムをつくっているのですが、デバッグを開始すると、
0x771009D6 (ntdll.dll) で例外がスローされました (GraphicDx.exe 内): 0xC0000005: 場所 0x1881206B の読み取り中にアクセス違反が発生しました
この例外のハンドラーがある場合は、プログラムを安全に続行できます。
と例外がでます。これをなくすにはどうすればよいのでしょうか?
Main関数の部分を、Dxライブラリの初期化処理のために改変しました。
とりあえず、エラーに関係していそうな部分を載せておきます。
例外が出る前のMyForm.cppです↓

コード:

#include "MyForm.h"
#include "DxLib.h"
using namespace System;
using namespace System::Windows::Forms;
[STAThread]
	void Main(array<String^>^ args)
	{
		Application::EnableVisualStyles();
		Application::SetCompatibleTextRenderingDefault(false);

		CppWinForm1::MyForm form;
		Application::Run(%form);
	}
コードを改変し、例外がスローされたMyForm.cppです↓

コード:

#include "MyForm.h"
#include "DxLib.h"
using namespace System;
using namespace System::Windows::Forms;

[STAThread]
int Main()
	{
		if (DxLib_Init() == -1) { return -1; }

		void ApiMain(array<String^>^ args);
		{
			Application::EnableVisualStyles();
			Application::SetCompatibleTextRenderingDefault(false);

			CppWinForm1::MyForm form;
			Application::Run(%form);
		}

		DxLib_End();
		return 0;
	}


Re: C++/CLIでDxライブラリを使うプログラムで,例外がスローされます。解消するにはどうすればよいですか?

Posted: 2016年10月23日(日) 17:15
by C6b14
突然お邪魔増します。偶然似たような状況でVisual Studio Community 2015 Update 3でC++/CLI フォーム を作ったり Dxlib を使ったりしていたのでサンプルを作りました。たぶんこの方法でいいのではないでしょうか。http://csi.nisinippon.com/index.html
違っていたらごめんなさい。

Re: C++/CLIでDxライブラリを使うプログラムで,例外がスローされます。解消するにはどうすればよいですか?

Posted: 2016年10月26日(水) 16:16
by Mokutsuno
ありがとうございます!
うまく動作しました