Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FOR-Schleifenvariable 'ti' kann nach Durchlauf undefiniert.. (https://www.delphipraxis.net/35015-schleifenvariable-ti-kann-nach-durchlauf-undefiniert.html)

Pseudemys Nelsoni 1. Dez 2004 14:52


FOR-Schleifenvariable 'ti' kann nach Durchlauf undefiniert..
 
..sein


tag

Delphi-Quellcode:
        ti := 0;
                for ti := Low(myarray) to High(myarray) do
                begin

                end;


mag mir jemand sagen was hieran falsch ist? delphi meldet den fehler s.o

sakura 1. Dez 2004 14:54

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Daran ist nichts falsch, aber wenn Du 'ti' nach dem Durchlauf der Schleife nutzt, dann kann es sein, dass darin kein sinnvoller Wert steht. Und das ist genau das, was Delphi sagt.

...:cat:...

Pseudemys Nelsoni 1. Dez 2004 14:56

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
moin sakura,

kann ich das irgendwie abschalten? denn im code der schleife (hab ich hier rausgelassen weil es zu lang wäre) ist 100% kein fehler, ich benutze "ti" lediglich als index für das array. manchmal wenn ich so kompiliere -> projekt -> alle projekte kompilieren.... gehn die fehler weg, und manchmal kommen sie wieder wenn ich mit dem grünen pfeil kompiliere und starte. Das ist ziemlich nervig da ich das fehler fenster unten ewig wegklicken muss.

sakura 1. Dez 2004 14:58

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Zitat:

Zitat von Pseudemys Nelsoni
kann ich das irgendwie abschalten?

Du kannst Warnungen generell abschalten, nur wäre es, *sorry*, dumm. Ändere den Code so, dass Du nach der Schleife 'ti' entweder nicht nutzt oder es neu initialisierst.

...:cat:...

Steve 1. Dez 2004 15:00

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Hi,

doppelklick doch mal auf die Hinweismeldung, dann springste automatisch zur Zeile, die dieser Hinweis betrifft. Der Fehler kommt eigentlich nur, wenn 'ti' außerhalb bzw. nach der Schleife benutzt wird!
Delphi-Quellcode:
...
FOR ti:=0 TO 5 DO
BEGIN
  myArray[ti] := 'test';
...
END;
...
myArray[ti] := 'huch'; //<<-- Hinweis vom Compiler

Gruß
Stephan :dance: :xmas:

alcaeus 1. Dez 2004 15:04

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Hi Pseudemys Nelsoni,

die Compileroptimierung hat mir z.B. mal eine Vorschleife von oben nach unten durchlaufen lassen, anstatt wie von mir geplant von unten nach oben (also downto anstatt to). Ich habe mich nicht weiter drum gekümmert. In deinem Fall lässt sich die Warnung umgehen: schreibe einfach nach der For-Schleife folgendes:
Delphi-Quellcode:
ti := High(myarray);
Somit ist ti auch für den Compiler das was es sein sollte, und dein Problem ist erledigt.

Greetz
alcaeus

Pseudemys Nelsoni 1. Dez 2004 15:04

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
@sakura, werd ich dann wohl machen müssen :\

@steve:

ich shcreibe gerade einen irc server, ich habe ca 90 case teile in so gut wie jedem benutz ich ti (temp integer *g*) als laufvariable, die FOR-schleife initialisiert die variable doch eigentlich, naja werd ichs von nun an eben selbst machen :\

@alc: oder so, thx auch dir :)


danke für die hilfe ;)



BTW: coole smilies lol

Steve 1. Dez 2004 15:06

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Hi,

deswegen ja der Doppelklick auf die Hinweismeldung, dann weißt Du, wo das 'ti' wohl doch mal außerhalb ner Schleife benutzt wird ;)
Ohne Fehler keine Fehlermeldung :mrgreen:

Gruß
Stephan :dance: :xmas:

Pseudemys Nelsoni 1. Dez 2004 15:10

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Zitat:

Zitat von Steve
Hi,

deswegen ja der Doppelklick auf die Hinweismeldung, dann weißt Du, wo das 'ti' wohl doch mal außerhalb ner Schleife benutzt wird ;)
Ohne Fehler keine Fehlermeldung :mrgreen:

Gruß
Stephan :dance: :xmas:



moin steve ^^,

jo klar weiss ich wo meine variable nochmal benutzt wird ;)

mein code sieht ca so aus(und das 90~ mal):

Delphi-Quellcode:
 ti := 0;

case irgendwas of
  irgendwas1:
    begin
      for ti := Low(MyArray) to High(Myarray) do
      begin
        // irgendwas
      end;
    end;
  irgendwas2:
    begin
      for ti := Low(MyArray) to High(Myarray) do
      begin
        // irgendwas
      end;
    end;
  irgendwas...:
    begin
      for ti := Low(MyArray) to High(Myarray) do
      begin
        // irgendwas
      end;
    end;
  irgendwas90:
    begin
      for ti := Low(MyArray) to High(Myarray) do
      begin
        // irgendwas
      end;
    end;
end;
deswegen ist mir das egal ob die variable dann undefiniert wäre... nur die meldung hat mich halt gestört

Shaman 1. Dez 2004 15:10

Re: FOR-Schleifenvariable 'ti' kann nach Durchlauf undefinie
 
Aber sagt mal...
Auch wenn der Copiler meckert, habe ich noch nie erlebt, dass nach
Delphi-Quellcode:
for I:= 0 to N do Irgendwas;
I ungleich N+1 ist... Darauf kann man sich doch verlassen, oder? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.
Seite 1 von 2  1 2      

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