![]() |
Exception der Klasse EAccess Violation
Werte Delphi-Gemeinde,
ich habe ein kleines Ampel-Programm von S. Spolweg nachgeschrieben. Beim Starten erhalte ich stets die in der Überschrift genannte Exception. Trotz mehrfacher Überprüfung meiner Programmierung (sogar Buchstabe für Buchstabe mit dem Orginal) erhalte ich immer wieder das gleiche Ergebnis. Was mich sehr verwundert, dass das Orginalprojekt anstandslos funktioniert. Ich rufe nicht nur die fertige Exe auf. Das Programm habe ich mir heruntergeladen, compiliert und gestartet und es funktioniert einwandfrei. Nur mein nachgeschriebenes Programm eben nicht. Woran kann das liegen? Ich arbeite mit Delphi6 Enterprise. Auf eine Auskunft hoffend, verbleibe ich mit freundlichen Grüßen |
AW: Exception der Klasse EAccess Violation
Hallo Helmut,
so ist das schwer zu sagen -so ganz ohne Glaskugel. Vielleicht kannst Du Dein Problem etwas eingrenzen. Dann entsprechende Haltepunkte setzen und dann mit F8 schrittweise den Code abarbeiten. Grüße Klaus |
AW: Exception der Klasse EAccess Violation
Mein letztes mal mit Delphi 6 ist zwar schon ein paar Jahre her, aber man hat doch auch dort schon die Möglichkeit bekommen, anzuhalten und die Zeile markieren zu lassen, wo die Exception geworfen wird?
|
AW: Exception der Klasse EAccess Violation
@OldDelphi
In der 34. Zeile, da hast du statt ... oh, nee, doch nicht, war nur eine Fliege auf deinem Bildschirm. Wenn du dich jetzt fragst, wie kann der auf meinen Bildschirm schauen ... |
AW: Exception der Klasse EAccess Violation
Wenn es direkt beim Start kommt, hast Du wahrscheinlich einen Fehler im Konstruktor Deiner MainForm. Erscheint die MainForm überhaupt, oder stürzt das Programm ab bevor es überhaupt etwas anzeigen kann?
Kommentiere mal "OnCreate" Deiner Hauptform aus. |
AW: Exception der Klasse EAccess Violation
|
AW: Exception der Klasse EAccess Violation
Falls es sich bei diesem Skript um das gleiche Skript handelt, das auch wir im Unterricht benutzt haben, liegt der Fehler in einer doppelt deklarierten namensgleichen globalen Variable des Hauptfensters. Sie müsste in beiden Units auftauchen. Eine der beiden Deklarationen musst du entfernen. Dann läuft alles sauber durch.
Zu dem Fehler kommt es, da in der einen Unit das Hauptfenster erzeugt wird, aber dadurch, dass in der zweiten Unit diese Variable noch einmal deklariert ist, wird dann nicht auf die bereits erzeugte Instanz zugegriffen, sondern auf die noch nicht initialisierte in der anderen Unit. -> Speicherverletzung |
AW: Exception der Klasse EAccess Violation
Liebe Freunde,
vielen Dank für Eure Mühe. Habe den Fehler selbst gefunden. Ich habe ein zu implementierendes Element in der falschen Reihenfolge beim Aufruf "Form.Create" gesetzt. Die Implementation dieses Elements musste als als Letztes erfolgen. Nun funktioniert die Sache! Ich hatte ja geschrieben, dass ich meine Arbeit mehrfach überprüft hatte. Aber man wird wahrscheinlich irgendwie blind. Ich habe heute nochmals mein Programm mit dem Orginal verglichen und da ist mir auf Anhieb der Fehler aufgefallen. Also nochmals besten Dank und weiter viel Spaß beim Programmieren! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz