Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zugriffsverletzung im Modul ntdll.dll (https://www.delphipraxis.net/129625-zugriffsverletzung-im-modul-ntdll-dll.html)

Dumpfbacke 22. Feb 2009 19:14


Zugriffsverletzung im Modul ntdll.dll
 
Hallo Leute,
ich habe hier ein großes Problem. Ich möchte gerne Audrucke auf einem Windows 2003 Serrver entgegen nehmen und verarbeiten. Dazu habe ich ein Programm in Delphi geschrieben. Unter Windows XP läuft es auch ohne Pobleme nur unter Windows 2003 geht es nicht. Um der Fehler zu finden habe ich mal nur das nötigste in ein Programm übernommen. Das Programm ist ein Cosolenprogramm. Um den Fehler einfacher zu finden habe ich ein "normales" Programm mal geschrieben. Es fragt nur einige Umgebungsvariablen ab und schreibt das Ergebnis in ein Memo Feld.
Wenn ich das Programm normal starte geht es ohnen Probleme nur die Umgebnunsvariablen sind leer. Wenn ich das Programm automatisch aus einem Batch - Programm starten lasse bekomme ich den Inhalt der Umgebungsvariablen welche von einem anderen Programm gefüllt worden sind und dann jedoch immer diese Fehlermeldung:

Zugriffsverletzung bei Adresse 7C94EV29 im Modul ntdll.dll schreiben von Adresse 004642D5

Kann mir jemand sagen, so das Problem liegt ? Unter Windows XP geht es ohne Problem. Unter Windows 2003 kann ich das Programm ohne Fehler starten aus der Batch gibt es eine Zugriffsverletzung ?

Könnt Ihr mal bitte eure :glaskugel: befragen :gruebel:

Danke Dumpfbacke :wall: :wall:

omata 22. Feb 2009 19:20

Re: Zugriffsverletzung im Modul ntdll.dll
 
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses SysUtils, ActiveX;

begin
  CoInitialize(nil);
  ...
  CoUninitialize;
end.

Dumpfbacke 23. Feb 2009 18:58

Re: Zugriffsverletzung im Modul ntdll.dll
 
Hallo omata,
leider hat es nichts gebracht. CoInitialize geht bei einem Normalen Programm natürlich nicht. Somot habe ich es bei meoinem Consolen Programm mal benutzt. Ich bekomme immer noch die selbe Fehlermeldung.

Der Vorgang written konnt nicht auf den Speicher durchgeführt werden. Es muß etwas mit den Umgebungsvariablen zu tun haben. Hoffe ich mal

Dumpfbacke.

hoika 23. Feb 2009 19:23

Re: Zugriffsverletzung im Modul ntdll.dll
 
Hallo,

dann zeig doch mal den Code des Konsole-Programms.


Heiko

Dumpfbacke 24. Feb 2009 06:14

Re: Zugriffsverletzung im Modul ntdll.dll
 
Zitat:

Zitat von hoika
Hallo,

dann zeig doch mal den Code des Konsole-Programms.


Heiko

Hallo Heiko,
das Problem habe ich mitlerweile 100%ig erkennt. Es hängt an den Umgebungsvariablen welche ich auslesen möchte

Delphi-Quellcode:
Variable1 := GetEnvironmentVariable('Test');
Unter XP kein Problem, jeodch unter Windwos 2003 geht es nicht

Dumpfbacke

hoika 24. Feb 2009 08:42

Re: Zugriffsverletzung im Modul ntdll.dll
 
Hallo,

versuche mal das Programm als Admin zu starten,
vielleicht hast du zu wenig Rechte ?

Ist das eine System- oder Nutzer-Variable ?


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz