AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Zugriffsfverletzung - Aber warum
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsfverletzung - Aber warum

Ein Thema von Premaider · begonnen am 18. Okt 2012 · letzter Beitrag vom 18. Okt 2012
 
Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#1

Zugriffsfverletzung - Aber warum

  Alt 18. Okt 2012, 22:48
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
l,k,m,n,o,AL1,AL2: Integer;
begin
//Kollision Spieler und Ziel
if IsCollision(Spieler.BoundsRect, Ziel.BoundsRect) then
  begin
  Punktzahl:=Punktzahl+1;
    If Sounds='EnabledThen
      begin
        SoundPlayer.FileName:=Pfad+'\Datein\Ziel.wav';
        SoundPlayer.Open;
        SoundPlayer.play;
      end;
    ItemCount:=ItemCount+1;
    Ziel.Top:=random(Spielflaeche.Height-Ziel.Height);
    Ziel.Left:=random(Spielflaeche.Width-Ziel.width);
    Memo2.lines.add(IntToStr(Ziel.Left)+';'+IntToStr(Ziel.top));
    // Gegner hinzufügen
      begin
       setLength(gegner,length(Gegner)+1);
       AL1 := length(Gegner)-1;
       Gegner[AL1]:= TGegner.Create(Self);
         With Gegner[AL1] do
          begin
            speed:=3;
            Parent := self;
            Cooldown := 1000;
            If RandomAusgabe(1)=1 Then
               begin
                  Width:=7;
                  Height:=40;
                  top:= 250;
                  Left := random( Spielflaeche.ClientWidth - Width );
                end;
            If RandomAusgabe(1)=0 Then
               begin
                  Width:=40;
                  Height:=7;
                  top:= random( Spielflaeche.clientheight - height );
                  Left := 450;
                end;
          end;
        end;
    //Item hinzufügen
      begin
        setLength(Item,length(Item)+1);
        AL2 := length(Item)-1;
        Item[AL2]:= TItem.Create(Self);
        With Item[AL2] do
          begin
            Parent:=Self;
            Height:=10;
            Width:=10;
            Top:=Random(Form1.ClientHeight-Height);
            Left:=Random(Form1.ClientWidth-Width);
            Brush.Color:=clblack;
            If RandomAusgabe(1)=1 then
              begin
                Pen.Color:=clgreen;
                Typ:=True;
              end;
            If RandomAusgabe(1)=0 then
              begin
                Pen.Color:=clred;
                Typ:=False;
              end;
          end;
  end;
...
//Kollision Spieler und Item
For n := low(item) to high(item) do
  begin
    If IsCollision(Spieler.BoundsRect,Item[n].BoundsRect) Then
      begin
        Spieler.Upgrade(n,Item[n].Typ);
      end;
  end;
end;
...
//Kollision Spieler und Gegner
For k:= low(gegner) to high(gegner) do
  begin
    if ((IsCollision(Gegner[k].BoundsRect, Spieler.BoundsRect))
    and (Gegner[k].Cooldown<=0)) then Verloren;
  end;
...
end;
Bei //Kollision Spieler und Item bekomme ich eine Zugriffsverletzung. Ich verstehe allerdings nicht warum. Genauso werden bei mir die Gegner behandelt und bei denen funktioniert es. Zudem die Gegner ja genauso erstellt werden.
Weiß jemand warum ?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 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