Hi,
Zitat von
ark4869:
Müsste idx nicht eine globale Variable sein?
nee, denn idx wird ja nur in dieser prozedur gebraucht.
Auf die anderen Uhren kann ich ja immer mit Liste.Items[ nr_von_welche_uhr_hätten_sie_denn_gerne ] (Achtung, das ist nur der Zeiger auf die Speicherstelle der Uhr) oder komplett TBewegteUhr( Liste.Items[ nr_von_welche_uhr_hätten_sie_denn_gerne ] ) zugreifen.
Ausserdem hätte ich in idx immer nur den Index der zuletzt eingetragenen Uhr in der Liste und den bekomme ich auch über Liste.Count - 1
Ich gehe mal davon aus, dass ihr immer auf alle Uhren zugreifen sollt, also hier das "Vernichten"
Delphi-Quellcode:
procedure TMain.BtVernichtenClick(Sender: TObject);
begin
while Liste.Count > 0 do
begin
if Assigned( Liste.Items[ 0 ] ) then // Ist das gleiche wie Liste.Items[ 0 ] <> nil
TBewegteUhr( Liste.Items[ 0 ] ).Free;
Liste.Delete( 0 );
end;
end;
cu
Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)