Ein paar Dinge gleich nach dem ersten Duchsehen:
- Der Index in TObjectList ist 0-basiert, TClsButtonInfo.Num fängt aber bei 1 an.
- Das Löchen von Elementen aus einer Liste funktioniert nur dann richtig, wenn man for I:=<ende> downto <start> do
verwendet.
Ja ich weiss deshalb sagte ich auch in einem der Beiträge das ich den ersten Button nicht in die ObjectList eingetragen habe.
Es scheint so das die ObjectListe damit nicht klar kommt wenn du sagst das ich unbedingt mit 0 anfangen muss.
Es dürfte klar sein das wenn man Button zu einem Fenster zur Laufzeit addiert dann muss zumindest 1 vorhanden sein der auch nicht gelöscht werden darf.
Dieser repräsentiert den Index 0;
Ich habe versucht bei 0 anzufangen in dem ich einfach
FSelButton := (FColButtons.Items[Btn -1]) as TClsButtonInfo;
Btn -1 zugewiesen habe..
Aber auch das habe ich schon angemerkt dann meldet er mir das der ListIndex Maximum(0) überschritten wäre.
Fange ich bei eins an meckert er das ListIndex Maximum(1) überschritten ist.
Da hab ich noch was zu tun
Zitat:
1.Das Löchen von Elementen aus einer Liste funktioniert nur dann richtig, wenn man for I:=<ende> downto <start> do verwendet.
Müßte ich dann noch ändern.
In der Collection VB seite spielte das keine rolle.
Danke für die überprüfung.
gruss