Domanda

Vorrei iniziare dicendo che il caricamento di una DLL era corretto. Ma quando vado a caricare una seconda DLL, si interrompe sempre con una posizione di memoria di accesso non valida (998) di errore.

Nel mio progetto le DLL contengono sostanzialmente il codice necessario per eseguire un'intelligenza artificiale. Un'altra applicazione che ho creato ti consente di scrivere un codice semplice e poi dietro le quinte compila il sorgente e lo rende disponibile per il "gioco".

Fondamentalmente sono in grado di caricare un AI (DLL) e guardarlo mentre fa le sue cose. La prossima volta che gli invio un comando per caricare un nuovo AI (separatamente e per un'entità diversa) fallisce. Sto usando nuove variabili per l'intero processo, quindi non dovrebbe calpestare altri moduli.

Ogni DLL ha praticamente lo stesso aspetto poiché sono praticamente tutte integrate allo stesso modo. (la DLL è composta da un gruppo di strutture e una funzione). Stavo pensando che forse c'è qualcosa in comune nelle DLL che lo rende in qualche modo parte della stessa memoria, ma non ne ho idea.

Vorrei poterti mostrare l'origine DLL, ma non è su questa macchina.

Se hai qualche idea, grazie in anticipo!

-Michael

Modifica: il nome corretto dell'errore 998 è " ERROR_NOACCESS " ;. Mi dispiace per quello.

È stato utile?

Soluzione

So che è molto tardi & # 8230; ma forse questo può aiutare:

Come configurare la protezione della memoria in Windows XP SP2 (pubblicato: 9 dicembre 2004)

La pagina menzionata fornisce le seguenti informazioni:

  • Introduzione
  • Prima di iniziare
  • Abilitazione di DEP per tutti i programmi sul computer
  • Abilitazione dell'elenco eccezioni DEP
  • Configurazione delle opzioni DEP a livello di sistema
  • Informazioni correlate
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top