AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi array of TImage ... length liefert einen ganz falschen Wert
Thema durchsuchen
Ansicht
Themen-Optionen

array of TImage ... length liefert einen ganz falschen Wert

Ein Thema von faeX · begonnen am 4. Apr 2008 · letzter Beitrag vom 5. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
Muetze1
(Gast)

n/a Beiträge
 
#11

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 4. Apr 2008, 23:58
Erstmal: Hast du die Bereichsprüfung eingeschaltet bei dem Projekt? Wenn nein, mach dies in den Projektoptionen->Compiler und erstelle das gesamte Projekt neu. Dann führe die Methode nochmal aus.

Zu deinem Code:
Delphi-Quellcode:

procedure c(anum, art : integer);
var
  anzahl : integer;
begin
  anzahl := length(a[anum].wunden);
  setLength(A[anum].c,anzahl + 1);
  A[anum].c[anzahl-1] := TImage.create(frmB);
  A[anum].c[anzahl-1].parent := frmB;

  // Text unwichtig

end;
- Wieso ermittelst du die Länge von Wunden um dann c auf diese Länge + 1 zu setzen?
- Eintrag Anzahl-1 ist nicht richtige Index, sondern Anzahl ist der letzte Index. Du hast ja auf Anzahl + 1 die Größe gesetzt.

Kleines Rechenbeispiel:
-> Anzahl wird mit 0 ermittelt
-> Du setzt c auf Anzahl + 1, also eine Länge von 1
-> Du greifst auf -1 zu, da du Anzahl - 1 nimmst

Mit der Bereichsprüfung hätte er dir das zur Laufzeit um die Ohren gehauen!

Du zerschiesst dir jetzt den Speicher, das kann unvorhersehbare Folgen haben, da du wild fremden Speicher editierst (fremd im Sinne der nicht eigentlich anvisierten Variablen).
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#12

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 5. Apr 2008, 00:00
da gibt es ein problem:

mein delphi bockt wenn ich das programm direkt in delphi starten will ich muss es erst zur exe compilieren und dann starten
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 5. Apr 2008, 00:03
Zitat von faeX:
da gibt es ein problem:
Nein, das ist definitiv kein Problem:

Zitat von faeX:
mein delphi bockt wenn ich das programm direkt in delphi starten will ich muss es erst zur exe compilieren und dann starten
Das ist eine Exception, die wird trotzdem erscheinen.

Und selbst wenn, du kannst den Prozess im Explorer starten und dann in Delphi zu dem Prozess attachen und debuggen. (Attach zu Prozess, bzw. Mit Prozeß verbinden).
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#14

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 5. Apr 2008, 00:04
danke, habt mir sehr geholfen!
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#15

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 5. Apr 2008, 00:06
Zitat von faeX:
da gibt es ein problem:

mein delphi bockt wenn ich das programm direkt in delphi starten will ich muss es erst zur exe compilieren und dann starten
Du machst mich neugierig auf Deine Delphiversion/Betriebssystem
//Edit
ok ich halt mich raus Muetze ist der bessere Delphin
I love DiscCat
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#16

Re: array of TImage ... length liefert einen ganz falschen W

  Alt 5. Apr 2008, 00:07
Zitat von faeX:
danke, habt mir sehr geholfen!
Ist denn das Problem an sich erledigt?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:48 Uhr.
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