Announcement

Collapse
No announcement yet.

Fehlermedlung beim Compilieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehlermedlung beim Compilieren

    Hallo,
    beim compilieren eines Programmes stürzt Delphi 5 mit der Fehlermeldung Zugriffsvereltzung XXXXX in Modul ntdll.dll an Adresse XXXX ab.
    Kennt jemand diese Fehlermeldung und wie kann man sie beheben.
    Für eine Antwort besten Dank
    Bernhard

  • #2
    Hallo,

    hinter NTDLL.DLL steckt der Speichermanager des Betriebssystems. Somit greift Delphi beim Compilieren auf eine Speicheradresse zu, die illegal ist (oder tritt der Fehler erst beim Starten der Anwendung aus Delphi heraus auf?).

    >..wie kann man sie beheben..

    In den meisten Fällen stecken externe Komponenten dahinter

    Comment


    • #3
      Äh, falls Delphi eine solche Zugriffsverletzung erzeugen sollte dann würde die Fehlermeldung als Modul auch Delphi angeben.<br>
      In diesem Falle hier erzeugt das Betriebssystem diese Fehlermeldung da NTDLL zum Kernel gehört. Allerdings wird die Ursache dessen schon in der Delphi-IDE liegen, z.b. BorDbk5.exe !<br>
      Hintergrund ist folgender: Alle Handles im NT/W2k/XP sind eigentlich Indexe in bestimmte Speichertabellen zu den Informationen des Objectes das das Handle beschreibt. Einige Handles sind auch direkt Zeiger auf weitere Daten. Wird dem OS nun ein falsches Handle übergeben dann kann es vorkommen das das OS entweder mit falschem Index in eine Speichertabelle oder aber mit falschen Zeiger zugreift.<br> Normalerweise sollte dies natürlich das OS abfangen bzw. überprüfen können, aber nobody is perfect.<br>

      Übrigens, nach meinen Erfahrungen mit Delphi 4/5/6 sind solche AV's der IDE keine Seltenheit.<br>
      Falls das Problem NUR in diesem besagtem Projekt auftaucht dann kannst du:<br>
      <li>1.) alle benötigten DCU's löschen damit sie garantiert erneut kompiliert werden<br>
      <li>2.) alle Source überprüfen, bzw. konvertieren damit "unbeliebte" Sonderzeichen entfernt werden. Der Compiler hat einige Probleme falls er z.B. auf UNIX Style Textfiles trifft.<br>
      <li>3.) die *.dsk/*.dof Projectdateien löschen<br>
      <li>4.) eventuell zusätzlich eingebundene Resourcendateien überprüfen, sprich die *.res/*.rc files.<br>
      <li>5.) nach verdächtigem Source suchen, z.B. procedure(1); lässt den Compiler garantiert abrauschen.<br>
      <li>6.) vor dem Compilieren mal den IDE-Editor und alle anderen unnötigen Fenster schließen<br>

      Gruß Hage

      Comment

      Working...
      X