Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Till

Alter Hase

  • »Till« ist der Autor dieses Themas

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

1

12.08.2004, 14:38

Fehler 998: ERROR_NOACCESS

Hallo mal wieder,

folgendes Problem: Meine Anwendung (WIN) will explizit eine DLL laden (mit LoadLibrary), die in einem Ordner relativ zum Ordner der Anwendung sitzt. Seltsamerweise funktioniert das Laden nicht mehr richtig, sobald der Ordner mit der DLL in einem zusätzlichen Unterordner lagert, obwohl der string-parameter in LoadLibrary eindeutig den Unterordner voranführt, stattdessen geht es, wenn der DLL-Ordner direkt im Ordner der Anwendung ist (obwohl im Parameter der Unterordner mit drin war).
Bei GetLastError() kommt der Fehlercode 998 raus mit dem Namen ERROR_NOACCESS. In meiner MSDN-Hilfe steht nicht wirklich was darüber drin, jedenfalls sieht es so aus, als sei die DLL-Datei schon gefunden worden, nur nicht richtig geladen (wenn ich meine DLL lösche, kommt nämlich Fehler 126, der sagt, dass das "module" nicht gefunden wurde.

Also, weiß jemand, woher dieser Fehler (Desc: "Invalid access to memory location") herkommen könnte?

Danke,
Till
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

Anonymous

unregistriert

2

18.10.2004, 09:51

Re: Fehler 998: ERROR_NOACCESS

Zitat von »"Till"«

Hallo mal wieder,

folgendes Problem: Meine Anwendung (WIN) will explizit eine DLL laden (mit LoadLibrary), die in einem Ordner relativ zum Ordner der Anwendung sitzt. Seltsamerweise funktioniert das Laden nicht mehr richtig, sobald der Ordner mit der DLL in einem zusätzlichen Unterordner lagert, obwohl der string-parameter in LoadLibrary eindeutig den Unterordner voranführt, stattdessen geht es, wenn der DLL-Ordner direkt im Ordner der Anwendung ist (obwohl im Parameter der Unterordner mit drin war).
Bei GetLastError() kommt der Fehlercode 998 raus mit dem Namen ERROR_NOACCESS. In meiner MSDN-Hilfe steht nicht wirklich was darüber drin, jedenfalls sieht es so aus, als sei die DLL-Datei schon gefunden worden, nur nicht richtig geladen (wenn ich meine DLL lösche, kommt nämlich Fehler 126, der sagt, dass das "module" nicht gefunden wurde.

Also, weiß jemand, woher dieser Fehler (Desc: "Invalid access to memory location") herkommen könnte?

Danke,
Till


wieso nicht mehr? Vieleicht liegt es ja nicht an der dll. Sonder an etwas anderen! Welchen Compiler benutzt du denn???

Mind

Treue Seele

  • Private Nachricht senden

3

18.10.2004, 11:26

kann es sein das deine dll wieder von anderen dlls von dir abhängig ist? falls ja dann compile diese auch mal neu (sicherheitshalber) und kopier diese ins selbe verzeichnis zur anderen dll.
hört sich auf jeden fall so an weil du sagst das es in einem anderen verzeichnis nicht mehr geht. es kann sein das durch das verschieben die PATH variable zuschlägt und er die DLLs evtl wo anders her läd, die vielleicht älter sind.

kannst auch mal schauen was der depency walker (visual studio) so sagt falls du ihn hast. der kann machmal ( betonung liegt auf manchmal :rolleyes: ) helfen

Till

Alter Hase

  • »Till« ist der Autor dieses Themas

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

4

18.10.2004, 16:45

Danke, Leute, das Problem hat sich mittlerweile erledigt: im Code der DLL war etwas faul, sobald ich sie "sauber" geschrieben hatte, gings wieder. Aber es bleibt mir trotzdem noch ein Rätsel, warum das mit dem Unterverzeichnis nicht geklappt hat - ich habe nirgendwo Pfadreferenzen stehen haben!
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

Werbeanzeige