Kann mir Error nicht erklären :)
-
Hallo,
könnte mir einer sagen was dieser Error sein könnte bzw womit er zusammenhängt?
Es ist eine Exception der Klasse EStringListError aufgetreten Meldung : Der Index der Liste überschreitet das Maximum (1):
mögliche Fehlerursache :
TStringList* lol = new TStringList(); int i=0,b=0,zz=0; int B=0; TStringList *ordner=new TStringList(); if (CheckBox1->Checked == true) { ordner->Add(IncludeTrailingBackslash(Form3->Edit2->Text)); } else {}; if (CheckBox2->Checked == true && Query4->RecordCount>6) { ordner->Add(IncludeTrailingBackslash(Form3->Edit3->Text)); } else {}; if (CheckBox3->Checked == true && Query4->RecordCount>6) { ordner->Add(IncludeTrailingBackslash(Form3->Edit4->Text)); } else {}; if (CheckBox4->Checked == true && Query4->RecordCount>6) { ordner->Add(IncludeTrailingBackslash(Form3->Edit5->Text)); } else {}; if (CheckBox5->Checked == true && Query4->RecordCount>6) { ordner->Add(IncludeTrailingBackslash(Form3->Edit6->Text)); } else {}; if (CheckBox6->Checked == true && Query4->RecordCount>6) { ordner->Add(IncludeTrailingBackslash(Form3->Edit7->Text)); } else {}; TStringList *ordnerI=new TStringList(); if (CheckBox7->Checked == true) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit8->Text)); } else {}; if (CheckBox8->Checked == true && Query3->RecordCount>6) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit9->Text)); } else {}; if (CheckBox9->Checked == true && Query3->RecordCount>6) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit10->Text)); } else {}; if (CheckBox10->Checked == true && Query3->RecordCount>6) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit11->Text)); } else {}; if (CheckBox11->Checked == true && Query3->RecordCount>6) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit12->Text)); } else {}; if (CheckBox12->Checked == true && Query3->RecordCount>6) { ordnerI->Add(IncludeTrailingBackslash(Form3->Edit13->Text)); } else {};Im Edit.Text stehen die Pfadangaben.. und wie man erkennt kan man auswählen ob der Pfad geadded werden soll oder nicht... je nachdem welche checkbox aktivert ist so added er die ordner...
-
Ein Add kann diesen Fehler nicht verursachen. Das kommt garantiert irgendwo beim Zugriff. Geh bitte mal mit dem Debugger durch und versuche raus zu bekommen wo der Fehler genau auftritt.
Löschst du deine Stringlists auch irgendwann mal?
Was soll dieses else{}; ?
-
Wieso schreibst du leere else-Zweige?
Ist das der ganze Quelltext? Da keine Zugriffe auf den Index einer TStringList zu sehen sind, ist der Fehler so nicht nachvollziehbar.
if (CheckBox1->Checked) ordner->Add(IncludeTrailingBackslash(Form3->Edit2->Text));
-
hi,
du schreibst "RecordCount < 6" wieviele Zeilen hast du? 6 oder 7? bedenke wenn du 6 zeilen hast das du mit 0 anfängst zu zählen.also "RecordCount < 5".
-
Was hat das mit dem Fehler zu tun ?

Die Exception kommt nicht aus dem Code Schnipsel den er hier gepostet hat.
-
Der ganze Quellcode würde hier das Boardvolumen sprengen
naja ich werde mal weiter suchen wo der Fehler ist... mit den Ordner löschen könnte wirklich ein Problem sein...
-
Hallo,
habe den blöden Fehler heute gefunden... Er war bei SaveToFile mit drin..
for(int d=0;d<ordner->Count;d++) { Memo3->Lines->SaveToFile(ordner->Strings[d]+Query4->Fields->Fields[0]->AsString); }Hatte vorher auf ordnerI verwiesen welcher natürlich nicht so viele Elemente enthielt als ordner...