Zitat von
faux:
Zitat von
Khabarakh:
[add]
@faux: Solange die Anzahl der Buttons konstant ist (bzw. das Array nicht vergrößert/verkleinert werden muss), geht das
IMHO schon in Ordnung.
[/add]
Dass es nicht verkleinert werden darf,ohne Free und nicht vergrößert ohne Create ist mir klar. Aber wenn man das so machen würde (also mit Free und Create bei Gräßenänderung), dann würde das doch OK, sein, oder?
Nö
.
Ein Array immer um einen Eintrag zu vergrößern, ist ineffizient und speicherfressend. Man sollte es daher immer um einen höheren Wert vergrößern:
http://www.delphipraxis.net/internal...=381090#381090
Zitat von
Robert_G:
Zitat von
leddl:
@malo:
Bei ner Add-Methode mußt du einfach nur an das Array ein neues Element anhängen...
Genau DAS sollte man nicht machen.
Wenn es eine array-basierte Liste sein soll sollte man sie stufenweise vergrößern.
Eine Vergrößerung auf 172% der alten Größe hat sich als bester Allroundwert gezeigt. Bei kleinen Datenmengen wäre es möglich den ersten Sprung relativ großzügig ausfallen zu lassen, dadurch würde man sich vielleicht kleine weitere Kopiererei antun müssen.
Bevor man sich aber die ganze Arbeit macht, ist man mit TList doch besser bedinet
.