![]() |
"Zugriffsverletzung" und "Abstrakter Fehler"
Liste der Anhänge anzeigen (Anzahl: 1)
Gute Tag allerseits,
ich bin gerade für die Schule dabei ein Spiel zu programmieren. Mein Teil der Gruppenarbeit ist so weit eigentlich schon fertig, aber ich hab ein unschönes Problem. Wenn ich das Programm in Delphi öffne und mich mindestens ein Mal nach links oder rechts bewege und einen Schuss setze und das Programm dann wieder schließen will bekomme ich die Fehlermeldung "Im Projekt Poject1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 004032CC in Modul 'Projekt1.exe'. Lesen von Adresse BAADF00D'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen." Wenn ich direkt die .exe ohne Delphi 7 starte ploppen bei mir nach dem schließen immer mehr Fehlermeldungen auf die "Abstrakter Fehler" zurückgeben. Ich habe keine Ahnung wo mein Fehler liegt und wie ich das beheben soll. Im Anhang ist mal das Programm mit allen Dateien. Es wäre wirklich nett, wenn ihr euch das mal angucken könntet und mir sagen könntet was mein Problem ist/wie ich es lösen kann. Danke |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Hallöle...8-)
Ich habe nur XE als kleinste Version. Damit startet es. :wink: Aber:
Delphi-Quellcode:
kann in die Hose gehen. Besser:
Picture.LoadFromFile('Schuss.bmp');
Delphi-Quellcode:
Schau dir das mal an:
Picture.LoadFromFile('X:\Blubb\Schuss.bmp');
![]() |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Zitat:
Und wegen den Bildpfaden mach dir da mal keine Sorgen. Das ganze Zeug bleibt immer in diesem Ordner. Danke also, aber mein Problem hat das jetzt nicht wirklich gelöst :? |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Hallo,
ich kann das hier nicht nachvollziehen. Deine exe funktioniert bei mir ohne Meldungen beim Schließen. Auch D10.1 öffnet und compiliert Dein Projekt ohne Probleme. Die D10.1 exe läuft und schließt ohne Meldungen. Gruß Ralf |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Ich habe mir deinen Code nicht angeguckt aber:
wenn dein Programm beendet wird muss doch wohl auf irgendetwas zugegriffen werden, was du vorher schon mit Free freigegeben hast. Edit: habe es gerade mal getestet. Vergess was ich oben geschrieben habe. Bei mir funktioniert es auch vollkommen ohne Probleme. Zitat:
|
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Zitat:
|
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Ich hab die beiden Fehlermeldungen und wann sie entstehen mal aufgenommen.
Ich hoffe doch, dass hilf euch weiter eine Lösung des Problems zu finden. ![]() ![]() |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Kannst du einen Test machen und statt den Tasten auf der Tastatur mal die Buttons zum Bewegen und Schießen benutzen?
|
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Guten Morgen,
also, mit Delphi 7 kommt tatsächlich ein Fehler, mit XE4 nicht. Grund so weit ich das nachvollziehen kann: Du erstellst beim Start eine Instanz von TSchuss, sobald ein Schuss abgegeben wird, erstellst du gleich nochmal einen Schuss, da Du aber jedesmal deinen Parent und Owner des Schusses (das leider von TImage abgeleitet ist) setzt, führt das dazu, dass diese "KOmponente" mehrfach in der Komponentenliste von TForm landet, was beim Freigeben dann lustige Meldungen erzeugt... Änderst Du deinen Code in FormKeyPress so, dass Du dort Schuss.Create raus nimmst und dafür Schuss.startschuss(Position + 17, 170) einfügst und die Methode so deklarierst:
Delphi-Quellcode:
dann passt das..
procedure TSchuss.StartSchuss(Links, oben: Integer);
begin Left:=Links; Top:=Oben; end; wobei da noch ein paar andere Dinge wären... als wichtigste Maßnahme auf jeden Fall noch ein TimerSchuss.ENabled := false bei der Freigabe von Form1... GRüße |
AW: "Zugriffsverletzung" und "Abstrakter Fehler"
Moin...:P
Zitat:
Lese dir den Thread aufmerksam durch. Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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