4

まず、1 つの DLL が正常にロードされたと言ってみましょう。しかし、2 番目の DLL をロードしようとすると、常に「Invalid Access Memory Location (998)」エラーが発生します。

私のプロジェクトでは、DLL には基本的に AI の実行に必要なコードが含まれています。私が作成した別のアプリケーションでは、単純なコードを記述し、舞台裏でソースをコンパイルして「ゲーム」で使用できるようにします。

基本的に、1 つの AI (DLL) をロードして、それが動作するのを見ることができます。次回、新しい AI をロードするコマンドを (個別に別のエンティティに対して) 送信すると、失敗します。プロセス全体で新しい変数を使用しているため、他のモジュールを踏んではいけません。

各 DLL は、基本的に同じ方法で組み込まれているため、ほとんど同じように見えます。(DLL は、一連の構造体と 1 つの関数だけで構成されています)。何らかの形で同じメモリの一部を共有するDLLに共通点があるのではないかと考えていましたが、わかりません。

DLL のソースをお見せしたいのですが、このマシンにはありません。

アイデアがあれば、事前に感謝します!

-マイケル

編集: 998 エラーの適切な名前は「ERROR_NOACCESS」です。申し訳ありません。

4

1 に答える 1

1

私はそれが非常に遅いことを知っています…しかし多分これは助けることができます:

Windows XP SP2でメモリ保護を構成する方法(公開日:2004年12月9日)

上記のページには、次の情報が記載されています。

  • 序章
  • あなたが始める前に
  • コンピューター上のすべてのプログラムに対してDEPを有効にする
  • DEP例外リストの有効化
  • システム全体のDEPオプションの構成
  • 関連情報
于 2010-09-29T13:39:10.113 に答える