Hallo,
Vor 2 Monaten habe ich mein Projekt auf (Lazarus 1.6.2) FPC3.0.0 hoch gezogen, alles hat funktioniert. Nun habe ich Lazarus 1.6.4 (FPC3.0.2) installiert, und es erscheint diese Fehlermeldung:
bei "TStringList.Find()".
Ist das ein Bug vom neuen FPC? Wieso sollte ich die Liste erst sortieren um darin suchen zu können?
Oder gibt es ein anders Suchen, das nicht extra zuvor sortiert werden muss?
Grüße Markus.
Seit FPC3.0.2: "Cannot use find on unsorted list"
-
- Beiträge: 1445
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Seit FPC3.0.2: "Cannot use find on unsorted list"
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Seit FPC3.0.2: "Cannot use find on unsorted list"
MmVisual hat geschrieben:Ist das ein Bug vom neuen FPC? Wieso sollte ich die Liste erst sortieren um darin suchen zu können?
Oder gibt es ein anders Suchen, das nicht extra zuvor sortiert werden muss?
Nein, es ist eine Klarstellung.
In sortieren Listen, kann man Find (nur binäre Suche) verwenden; andernfalls verwendet man IndexOf (binäre Suche bei sortieren Listen, andernfalls lineare Suche).
Siehe http://www.freepascal.org/docs-html/rtl/classes/tstringlist.html und http://bugs.freepascal.org/view.php?id=26436
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 1445
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Seit FPC3.0.2: "Cannot use find on unsorted list"
Stimmt. In der Regel verwende ich immer IndexOf(). Ich weiß nicht mehr warum ich damals Find() verwendet hatte. Das war auch das einzige mal an dem ich Find() verwendet hatte, im ganzen Projekt.
Dankeschön, Grüße Markus.
Dankeschön, Grüße Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de