Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi KOmmt ein Fehler (https://www.delphipraxis.net/84938-kommt-ein-fehler.html)

thetrue 23. Jan 2007 19:57


KOmmt ein Fehler
 
moin

hier der Code:

Delphi-Quellcode:
procedure TForm1.rebuild_list();
var
I: Integer;
tmpC : String;
tmpX1: String;
tmpY1: String;
tmpX2: String;
tmpY2: String;
tmpX3: String;
tmpY3: String;
begin
  for I := 0 to points.Items.Count do
  begin
    points.Items[i].Caption := IntToStr(I+1);
        if I = 0 then
    begin
      points.Items.Item[I].SubItems[1] := '0';
      points.Items.Item[I].SubItems[2] := '0';
    end
    else
    begin
      if points.Items.Item[I-1].SubItems[0] = 'Bogen' then
      begin
        points.Items.Item[I].SubItems[1] := tmpX3;
        points.Items.Item[I].SubItems[2] := tmpY3;
      end
      else if points.Items.Item[I-1].SubItems[0] = 'Linie' then
      begin
        points.Items.Item[I].SubItems[1] := tmpX2;
        points.Items.Item[I].SubItems[2] := tmpY2;
      end
      else
      begin
        points.Items.Item[I].SubItems[1] := tmpX2;
        points.Items.Item[I].SubItems[2] := tmpY2;
      end;
    end;
      tmpC := points.Items.Item[I].SubItems[0];
      tmpX1 := points.Items.Item[I].SubItems[1];
      tmpY1 := points.Items.Item[I].SubItems[2];
      tmpX2 := points.Items.Item[I].SubItems[3];
      tmpY2 := points.Items.Item[I].SubItems[4];
      tmpX3 := points.Items.Item[I].SubItems[5];
      tmpY3 := points.Items.Item[I].SubItems[6];

      points.Items.Item[I].SubItems[0] := tmpC;
      points.Items.Item[I].SubItems[3] := tmpX2;
      points.Items.Item[I].SubItems[4] := tmpY2;
      points.Items.Item[I].SubItems[5] := tmpX3;
      points.Items.Item[I].SubItems[6] := tmpY3;
  end;
end;
so immer wenn ich diese procedure aufrufe, kommt dieser fehler:
http://www.imagespell.com/show.php?i...7a46763717.jpg

woran liegt das?

MfG

Klaus01 23. Jan 2007 20:02

Re: KOmmt ein Fehler
 
Delphi-Quellcode:
for I := 0 to points.Items.Count -1  do
  begin
Grüße
Klaus

s.h.a.r.k 23. Jan 2007 20:03

Re: KOmmt ein Fehler
 
Das liegt auf den ersten Blick an deiner for-schleife! Du musst diese so gestalten:
Delphi-Quellcode:
for I := 0 to points.Items.Count - 1 do
Das Array hat beispielsweise die Länge 10, allerdings ist zu beachten, dass das erste Element den Index 0 hat und das 10. Element somit den Index 9. Du greift mit deiner Schleife allerdings auf das 11. Element zu und das gibt es in diesem Beispiel nicht *blub* - > Fehlermeldung!

[edit] Wo war denn gerade der rote Kasten? [/edit]

Phoenix 23. Jan 2007 20:04

Re: KOmmt ein Fehler
 
Ganz klar. Du darfst die For-Schleife nur bis Count - 1 laufen lassen.

ABER jetzt kommt erstmal die verdiente Watsche! :warn:

1.) Aussagekräftiger Titel! Also Deinen Beitran bitte ändern! :warn:
2.) Bilder nur als ANHANG und nicht fremdverlinken! Wenn der Webspace irgendwann mal down ist kann keiner die Meldung mehr sehen! :warn:
3.) Du solltest es eigentlich besser wissen und hier konkret fragen. Nur mit 'KOmmt ein Fehler' und nem Ellenlangen Code wird Dir sonst keiner helfen.

Also 1.) und 2.) bitte noch korrigieren.

Matze 23. Jan 2007 20:15

Re: KOmmt ein Fehler
 
Wenn Phoenix grad dabei ist, dann möchte ich auch noch was anmerken: Debuggen hilft oft und man hat die Lösung meist schneller, als man denkt. :)

xZise 23. Jan 2007 20:51

Re: KOmmt ein Fehler
 
Zitat:

Zitat von Phoenix
2.) Bilder nur als ANHANG und nicht fremdverlinken! Wenn der Webspace irgendwann mal down ist kann keiner die Meldung mehr sehen! :warn:

Oder gleich den Fensterinhalt kopieren ;)
Also wenn eine Meldung erscheint, einfach <strg> + <c> und dann hier einfügen (<strg> + <v>) und ggf. mit Zitat umranden :D

Nils_13 23. Jan 2007 21:02

Re: KOmmt ein Fehler
 
Zitat:

Zitat von Phoenix
Ganz klar. Du darfst die For-Schleife nur bis Count - 1 laufen lassen.

ABER jetzt kommt erstmal die verdiente Watsche! :warn:

1.) Aussagekräftiger Titel! Also Deinen Beitran bitte ändern! :warn:
2.) Bilder nur als ANHANG und nicht fremdverlinken! Wenn der Webspace irgendwann mal down ist kann keiner die Meldung mehr sehen! :warn:

Also 1.) und 2.) bitte noch korrigieren.

1. Kann nur zustimmen.
2. Was soll diese Aussage ? Der Webspace meines Bruders war noch nie down, wieso auch ? KA, wieso viele Probleme damit haben....

SirThornberry 23. Jan 2007 21:14

Re: KOmmt ein Fehler
 
[OT]
@Nils: Aber es ist eher unwahrscheinlich das dein Bruder in 2 Jahren immer noch den Screenshot von einem Fehler auf seinem Webspace hat. Früh oder später wird er diesen entfernen da er nicht seinen ganzen Webspace irgendwann zur damit zugemüllt haben will.
[/OT]

xZise 24. Jan 2007 07:38

Re: KOmmt ein Fehler
 
Zitat:

Zitat von Nils_13
2. Was soll diese Aussage ? Der Webspace meines Bruders war noch nie down, wieso auch ? KA, wieso viele Probleme damit haben....

In der DP gibt es (glaub ich) einen unbegrenzten Attachmentspeicher!
Und deshalb denke ich, dass man den screenshot auch gut als Anhang anhängen kann...

Und ggf. wenn man ihn loswerden will, gibt es die Möglichkeit alle Seiten anzuzeigen, wo man selber ein Attachment hinterlassen hat, welches man ggf. entfernen kann.
(Wobei es dort leider die 24h-edit-Sperre gibt :( )

PS: Sir hat recht ;) Ein externer Speicher kann mal nicht verfügbar sein. Und auch gibt es dort 2 Faktoren, ob der Post + Datei sichtbar ist. Beim Anhang ist es irrelevant, weil entweder das Forum und das Attachment da sind, oder eben nicht....

@ Thread: Ich würde empfehlen:
1. Debuggen
2. Passender Titel ("Zugriffsverletzungsproblem") o.s.ä.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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