Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi array of record -> Zugriffsverletzung beim Lesen (https://www.delphipraxis.net/111203-array-record-zugriffsverletzung-beim-lesen.html)

Andy386 31. Mär 2008 15:53

Re: array of record -> Zugriffsverletzung beim Lesen
 
Also, fehler beim compilieren habe ich auch keine, nur während der laufzeit...

ok, hab nochmal während der der Laufzeit geguckt, den Mauszeiger über dei variable gehalten: der Wert der Variable ist doch tatsächlich lesbar (1,23)
dennoch stürzt es ab

gammatester 31. Mär 2008 15:57

Re: array of record -> Zugriffsverletzung beim Lesen
 
Zitat:

Zitat von Andy386
Also, fehler beim compilieren habe ich auch keine, nur während der laufzeit...

Du sagst also, daß mit
Delphi-Quellcode:
(layer[zahl].x=5)
statt
Delphi-Quellcode:
(llayer[zahl].x=5)
ohne Fehler compiliert wird?

Medium 31. Mär 2008 15:57

Re: array of record -> Zugriffsverletzung beim Lesen
 
:oops: Shame on me. Ich bin einfach davon ausgegangen, dass "dot" eine class ist und kein record, sowie ich bei layer von einer Liste ausging. Mag daran liegen, dass ich Arrays von Records wann immer möglich meide, und dafür Listen mit Objekten verwende.

Andy386 31. Mär 2008 16:06

Re: array of record -> Zugriffsverletzung beim Lesen
 
genau, gammatester.
wenn er dann in die Zeile mit dem if kommt, kommt der oben geschriebene Fehler mit Zugrissverletzung.
die kommt auch, wenn ich mit einem Pointer auf den betreffenden dot etwas auslesen will

ok, ich glaub, ich geh kaputt...
SO geht es :bounce2: :


Delphi-Quellcode:
  var helpdot: ^dot;
begin {...}
    helpdot:=@llayer[zahl];
    if helpdot.x=2 then
    if (llayer[zahl].x=2) then
SO nicht:
Delphi-Quellcode:
 if (llayer[zahl].x=2) then
So, @profis: jetzt gibts wirklich was zu spekulieren :-D

Muetze1 31. Mär 2008 17:45

Re: array of record -> Zugriffsverletzung beim Lesen
 
Ich empfehle dir erstmal grundsätzlich in den Projektoptionen die Bereichsprüfung und die Überlaufprüfung einzuschalten und das komplette Projekt neu zu erstellen (also nicht compilieren, sondern erstellen!) und dann nochmal zu starten. Dann schau nochmal nach dem Fehler.

Klaus01 31. Mär 2008 20:43

Re: array of record -> Zugriffsverletzung beim Lesen
 
Delphi-Quellcode:
var helpdot: ^dot;
begin {...}
    helpdot:=@llayer[zahl];
    if helpdot.x=2 then
      if (llayer[zahl].x=2) then
nur mal so geraten, aber kann es sein, dass im obigen Konstrukt
nicht in den if (llayer..) zweig hineingesprungen wird.

Grüße
Klaus

Andy386 1. Apr 2008 12:14

Re: array of record -> Zugriffsverletzung beim Lesen
 
@Klaus: nein, er springt rein und macht alles, was er soll (also, was im Zweig drinnen steht (die jeweiligen Punkte malen)

@muetze: ok, hab ich jetzt an, wird aber nicht als Fehler gemeldet & stürzt (ohne mein Konstrukt) ab.

Muetze1 1. Apr 2008 13:55

Re: array of record -> Zugriffsverletzung beim Lesen
 
Zitat:

Zitat von Andy386
@muetze: ok, hab ich jetzt an, wird aber nicht als Fehler gemeldet & stürzt (ohne mein Konstrukt) ab.

Dann ist der Speichermanager irgendwie vermurkst. Schonmal mit FreeMem und alles Checks versucht Stellen aufzuspüren wo auf freigegebene Objekte oder Zeiger zugegriffen wird?

Andy386 2. Apr 2008 10:14

Re: array of record -> Zugriffsverletzung beim Lesen
 
Nein. Hab keine Ahnung wie das geht.
Gibt's da auch ein Tutorial zu ?

Muetze1 2. Apr 2008 11:55

Re: array of record -> Zugriffsverletzung beim Lesen
 
Schau z.B. mal hier.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 2 von 2     12   

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