Forum: FreePascal
by himitsu,
3. Mai 2014
Ohne das Seek (in der Schleife) wäre es nicht hängen geblieben. :angle2:
Zu dem Try-Except:
- grundsätzlich sollte der Code dazwischen keine Exceptions auslösen (das alles sind wohl Fehler, bei denen das Programm sowieso abraucht und man sich die Fehlerbehandlung hier sparen könnte), außer
- - die Datei ist garnicht offen, aber dann hätte es wohl schon beim Öffnen geknallt
- - der...
Forum: FreePascal
by himitsu,
3. Mai 2014
Hmmmmm. :gruebel:
Also der bis jetzt gezeigte Code scheint ja insoweit OK zu sein,
aber dennoch klingt es so, als wenn beim 3. oder auch schon 2. Durchlauf irgendwas "zerschossen" würde, was dann spätestens beim 3. Aufruf zu einem Fehler führt.
PS: (auch wenn es erstmal mit dem Problem noch nicht viel zu tun hat)
Ist InfoArray zufällig ein array of TInfos?
Forum: FreePascal
by himitsu,
3. Mai 2014
String?
Gerade das ist ein böser Zeigertyp, da der intern nur aus einem Zeiger besteht, welcher auf die eigentlichen Stringdaten zeigt.
Und was für ein Array?
Nur der ShortString und die kurzen Strings mit Längenangabe String (nicht mit Zeichenindex, sondern als Typ) ist da anders, da Dieser intern ein statisches Array of AnsiChar ist (mit einem Längen-Byte am Anfang).
Lange Strings...
Forum: FreePascal
by himitsu,
3. Mai 2014
hmmmmm. :gruebel:
Ctrl+R ist dort Suchen+Ersetzen. (Replease)
Meinst du sowas wie Reset? (Programm abbrechen)
Lokale Variable "Index" in InfoLesen
und nochmal ein gleichnamiges Feld "Index" in der Klasse?
Forum: FreePascal
by himitsu,
3. Mai 2014
Wäre es da nicht einfacher/besser den "eigentlichen" Code zu posten? :roll:
Es geht dabei nicht unbedingt auf Meldungen des Compilers, sondern darum, osb man bei TempLokArray. auf ein "richtiges" Element zugegriffen wird und dir nicht sowas wie einen Buffer-Overflow einfängst und dabei womöglich noch ürgendwas Anderes überschreibst oder auf einen nichtexistierenden Speicherbereich triffst.
...
Forum: FreePascal
by himitsu,
2. Mai 2014
Kann man im FPC auch eine Bereichsprüfung aktivieren?
http://docwiki.embarcadero.com/RADStudio/XE3/de/Bereichs%C3%BCberpr%C3%BCfung
Wenn ja, dann solltest du das dringend mal machen.