TSpinEdit wirft immer ERangeError
-
Hallo
Ich habe mit Google nach dem Problem gesucht, aber es kommen immer nur Seiten auf Russisch...
Folgender Code wirft ein ERangeError:void __fastcall TSetupForm::SpecPanel_IntervalChange(TObject *Sender) { for(unsigned short int Check = 0; Check < SpecPanel_Interval->Text.Lenght(); Check++) { if(SpecPanel_Interval->Text[Check] == '+' || SpecPanel_Interval->Text[Check] == '-' || SpecPanel_Interval->Text[Check] == '.') { SpecPanel->Interval->Text.Delete(Check, 1); } } }
Wieso?
MfG, EOutOfResources
-
Hallo
Du zählst von 0 bis Lenght -1, aber die Indizierung bei VCL-String beginnt bei 1.
Außerdem hat dein Delete keine Auswirkung, weil du es auf eine temporäre Instanz anwendest, die danach ohne weitere Zuweisung einfach verfällt.
bis bald
akari
-
Vielen Dank!