Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: "Zugriffsverletzung" und "Abstrakter Fehler"

  Alt 20. Mär 2017, 06:22
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:
procedure TSchuss.StartSchuss(Links, oben: Integer);
begin
  Left:=Links;
  Top:=Oben;
end;
dann passt das..

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
  Mit Zitat antworten Zitat