AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Schleife schleift nicht wie erwartet (aber jetzt schon)
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife schleift nicht wie erwartet (aber jetzt schon)

Ein Thema von toyoman · begonnen am 20. Dez 2007 · letzter Beitrag vom 20. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#11

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:27
Halo,

nimm mal aus Zeile 27 diesen Code ganz raus:
listview1.ItemIndex:=listview1.ItemIndex+1; Stattdessen fügst Du zwischen Zeile 5 und 6 folgendes ein:

listview1.ItemIndex:=i; Das Inkrementieren des Itemindexes ist föllig überflüssig, da Du zu jeder Zeit den gewünschten ItemIndex in i stehen hast.

Der Fehler tritt auf, weil beim letzten Schleifendurchlauf der Index auf einen Wert erhöhtz werden würde, der nicht gültig ist.

Hope it helps

onlinekater

PS: Trotz roten Kastens, da die Lösung von Gollum den Index an der falschen Stelle setzt.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:31
Habe ich schon in Beitrag #2 geschrieben und
Zitat von toyoman:
Die Änderung macht allerdings keinen Unterschied
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#13

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:36
@Muetze1: Ich denke mal, die Anmerkung, dass die Änderung keinen Unterschied bringe bezog sich nicht auf Deinen Beitrag, sondern auf den ersten von Gollum
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#14

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:52
Zitat von Hawkeye219:
Hallo,

Gegen das Speicherleck solltest du ebenfalls etwas unternehmen. Die Stringliste wird nicht freigegeben, falls der Anwender die Suchschleife vorzeitig beendet. Bei einen Einsatz von TRY..FINALLY könntest du auch den Cursor an einer Stelle restaurieren.

Gruß Hawkeye
ich hab doch liste.free drin ? nicht gesehen? das sollte doch reichen oder?
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#15

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:54
Zitat von onlinekater:
@Muetze1: Ich denke mal, die Anmerkung, dass die Änderung keinen Unterschied bringe bezog sich nicht auf Deinen Beitrag, sondern auf den ersten von Gollum
stimmt
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 15:59
Zitat von toyoman:
ich hab doch liste.free drin ? nicht gesehen? das sollte doch reichen oder?
Nein, leider nicht. Wenn es zB zu einem Fehler kommt wird die ganze prozedur abgebrochen, er kommt also garnicht zu deinem .free und gibt sie nicht frei. Dafür gibt es den try..finally-Block. Der bewirkt, dass wenn etwas in dem try-Teil schief geht, bevor er abbricht auf jeden Fall noch der finally-Block ausgeführt wird. Wenn alles glatt läuft sowieso.
Damit kannst du sicherstellen, dass die liste auf jeden Fall freigegeben wird.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#17

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 16:01
ok das ist ein argument! danke

Zitat von inherited:
Zitat von toyoman:
ich hab doch liste.free drin ? nicht gesehen? das sollte doch reichen oder?
Dafür gibt es den try..finally-Block. Der bewirkt, dass wenn etwas in dem try-Teil schief geht, bevor er abbricht auf jeden Fall noch der finally-Block ausgeführt wird. Wenn alles glatt läuft sowieso.
Damit kannst du sicherstellen, dass die liste auf jeden Fall freigegeben wird.
  Mit Zitat antworten Zitat
maerc

Registriert seit: 28. Okt 2006
7 Beiträge
 
#18

Re: Schlaufe schlauft nicht wie erwartet

  Alt 20. Dez 2007, 16:31
Zitat von toyoman:
Zitat von Muetze1:
Schlaufe? Nicht eher eine Schleife?

Wird durch " btnoeffnen.Click; " vllt. ein Eintrag in der ListView oder der Liste entfernt?
von mir aus schleife..
dann änder doch mal den threadtitel, damit man weiß um was es geht
  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 00:03 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