まず、1 つの DLL が正常にロードされたと言ってみましょう。しかし、2 番目の DLL をロードしようとすると、常に「Invalid Access Memory Location (998)」エラーが発生します。
私のプロジェクトでは、DLL には基本的に AI の実行に必要なコードが含まれています。私が作成した別のアプリケーションでは、単純なコードを記述し、舞台裏でソースをコンパイルして「ゲーム」で使用できるようにします。
基本的に、1 つの AI (DLL) をロードして、それが動作するのを見ることができます。次回、新しい AI をロードするコマンドを (個別に別のエンティティに対して) 送信すると、失敗します。プロセス全体で新しい変数を使用しているため、他のモジュールを踏んではいけません。
各 DLL は、基本的に同じ方法で組み込まれているため、ほとんど同じように見えます。(DLL は、一連の構造体と 1 つの関数だけで構成されています)。何らかの形で同じメモリの一部を共有するDLLに共通点があるのではないかと考えていましたが、わかりません。
DLL のソースをお見せしたいのですが、このマシンにはありません。
アイデアがあれば、事前に感謝します!
-マイケル
編集: 998 エラーの適切な名前は「ERROR_NOACCESS」です。申し訳ありません。