Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ungewollter Zugriff auf in einem Array gespeichertes Objekt (https://www.delphipraxis.net/139929-ungewollter-zugriff-auf-einem-array-gespeichertes-objekt.html)

SquareEnix 9. Sep 2009 09:01

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
sry habe vergessen die Zeile zu Markieren :wall: . Es ist die erste Zeile der TRobot.Initialisieren Methode.

Klaus01 9. Sep 2009 09:06

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Wie lautet denn die Fehlermeldung?

Grüße
Klaus

SquareEnix 9. Sep 2009 09:13

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten.
'Zugriffsverletzung bei der Adresse 0044C27 im Modul 'Project1.exe' Schreiben von Adresse 00000004'.

Klaus01 9. Sep 2009 09:15

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
.. bevor Du die Methode initialisieren aufrufst, hast
Du das TRobot.create ausgeführt?

Grüße
Klaus

SquareEnix 9. Sep 2009 09:17

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Ich weiß ich bin blöd genau das war dies Fehlermeldung :wall: :wall: :wall: :wall:
Auf einer Skala von 1 bis Blöd konnte ich keinen Punkt ergattern :oops:

SquareEnix 9. Sep 2009 09:25

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Ich habe jetzt noch eine Fehlermeldung (auch EAccessViolation) in dieser Programmzeile:
Delphi-Quellcode:
KoordX[i]:=Round(PositionX+Sin(Winkel_1+Winkelz[i])*10);

Klaus01 9. Sep 2009 09:41

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Delphi-Quellcode:
procedure TRobot.Zeichnen(Ziel: TBitmap);
var
  Koord : array[1..3] of TPoint;
  i :integer;
  Winkelz: array[1..3] of double;
begin
  Winkelz[1]:=pi;
  Winkelz[2]:=2*Pi/3+pi;
  Winkelz[3]:=4*Pi/3+pi;
  for i:= 1 to 3 do
    begin
      Koord[i].x:=Round(Position[1]+Sin(Winkel_1+Winkelz[i])*10);
      Koord[i].y:=Round(Position[2]+Cos(Winkel_1+Winkelz[i])*10);
    end;

  if assigned(ziel) then
    begin
      Ziel.Canvas.Brush.Color:=clred;
      Ziel.Canvas.Polygon(Koord);
    end;
end;
Kommt die Fehlermedlung genau in der Zeile
oder kommt sie wenn Du auf dem Bitmap etwas zeichnen willst?

Grüße
Klaus

SquareEnix 9. Sep 2009 09:45

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
der Fehler kommt in den Zeilen
Delphi-Quellcode:
Koord[i].x:=Round(PositionX+Sin(Winkel_1+Winkelz[i])*10);
Koord[i].y:=Round(PositionY+Cos(Winkel_1+Winkelz[i])*10);
Danke für den Code, der ist wesentlich übersichtlicher als mein alter :-D

Klaus01 9. Sep 2009 09:50

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Zitat:

Zitat von SquareEnix
der Fehler kommt in den Zeilen
Delphi-Quellcode:
Koord[i].x:=Round(PositionX+Sin(Winkel_1+Winkelz[i])*10);
Koord[i].y:=Round(PositionY+Cos(Winkel_1+Winkelz[i])*10);
Danke für den Code, der ist wesentlich übersichtlicher als mein alter :-D

Wir sprechen aber schon von der selben Methode?

Delphi-Quellcode:
Koord[i].x:=Round(PositionX+Sin(Winkel_1+Winkelz[i])*10);
Warum heißt es bei Dir PositionX und nicht Position[1]?

Grüße
Klaus

SquareEnix 9. Sep 2009 09:53

Re: Ungewollter Zugriff auf in einem Array gespeichertes Obj
 
Oh sorry... :wall:
Ich habe aus
Delphi-Quellcode:
Position: Array[1..2] of integer;
zwei integer gemacht (Der übersichtlichkeit wegen).
Aber das sollt an sich nichts ausmachen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz