いつもDXライブラリを使用させて頂いています。
今回、いつの間にか追加されていたUDP通信を早速使用してみたのですが、エラーが発生しました。
以下にソースコードを提示します。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int NetUDPHandle ; // ネットワークハンドル
ChangeWindowMode( true );
SetNotWinFlag( true );
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// UDP通信用のソケットハンドルを作成
NetUDPHandle = MakeUDPSocket( 9850 ) ;
// 文字列の受信を待つ
while( CheckNetWorkRecvUDP( NetUDPHandle ) == FALSE )
{
// ウインドウズメッセージ処理
if( ProcessMessage() < 0 ) break ;
}
// UDPソケットハンドルの削除
DeleteUDPSocket( NetUDPHandle ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
SetNotWinFlag関数でウインドウを非表示にした場合のみ、エラーが発生しました。
以下にエラーメッセージを提示します。
「UDPTest.exe の 0x010c8390 でハンドルされていない例外が発生しました:
0xC0000005:
場所 0x00000008 に書き込み中にアクセス違反が発生しました」
もしやと思い、TCP通信で試してみましたが、やはり同様にエラーが発生します。
DXライブラリの通信はウインドウを表示していることが前提になっているのでしょうか。
長文、乱文、失礼しました。