Zitat von
wicht:
Du brauchst die Abfrage. Du willst erst löschen, wenn die Zeit abgelaufen (Bombe.ExplodeTime oder wie es hieß) ist, oder an der Bombe eine Eigenschaft gesetzt wurde oder so. Bombe wird gelegt, Bombe explodiert, frühstens danach darf sie gelöscht werden.
Ich setze Delete erst hinter die Funktion. Er löscht erst/nur, wenn er in die Funktion reinkommt und damit dann fertig ist.
Zitat von
wicht:
Was heißt denn "mit Delete funktioniert auch nicht"? Etwas genauer bitte
..
Dadurch, dass sich der Timer immer wiederholt, ist das, wenn einmal die Bombe gezündet wurde, eine Enlosschleife. Wenn ich Delete hinter die Funktion (also nach dem Durchlauf) setze, ist keine Veränderung zu sehen. Ich lasse mir ja während des Spielverlaufes immer den Wert von Count anzeigen. Und der wird nicht niedriger. Er bleibt dann immer auf 1.
Zitat von
wicht:
Hast du die TList benutzt, um die Bomben zu verwalten, oder die TObjectList mit OwnsObjects = True?
Ich verwende eine ganz normale TList, wie es bei dir am Anfang drin stand.
Liebe Grüße,
Simon =)