Halloo.
Bei dieser Prozedur
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| procedure strextrahieren(strall:string); var stemp: string; s: array of string; int: array of integer; i: integer; begin showmessage(strall+' '+strpart); form_mainform.listtemp4.Clear; setlength(s,length(strall)); setlength(int,length(strall)); stemp := strall; int[1] := nextpos(strpart, strall, 1); Delete(stemp,int[1],length(strall)); form_mainform.listtemp4.Items.Add(stemp); for i := 1 to length(strall) do begin stemp := strall; int[i+1] := nextpos(strpart, stemp, int[i]); Delete(stemp,int[i+1],length(strall)); Delete(stemp,1,int[i]+(length(strpart)-1)); form_mainform.listtemp4.Items.Add(stemp); end; end; |
beendet sich das Programm einfach ohne Fehlermeldung.
Wenn ich es über Delphi teste erscheint ein Fenster Namens CPU zusammen mit einer Meldung:
Project (...) faulted with Message: 'acces violation at blabla... ...'
Die Prozedur ist dazu da mehrere durch Trennzeichenfolgen eingegebene Wörter zu extrahieren (Nach Listtemp4, einer Listbox..)
Ich such jetzt schon ne ganze Weile rum, aber ich weiß nicht warum das ganze Probleme verursacht.. In einem Testprogramm in leicht abgeänderter Form hat es noch geklappt.
Ich bin sicher, dass der Fehler in dieser Prozedur liegt; außerdem sind die Strings, mit der die Prozedur arbeitet auch korrekt (es kommt z.b. auch eine Trennzeichenfolge vor.. auch wenn es auch ohne diese klappen sollte...)
Ich hoffe jemand findet den Fehler,
.50AE