Zitat von
Yheeky:
auto:=src.getItem(i); // FRAGE 1
src.Delete(src.indexof(auto)); // FRAGE 2
Mit "auto:=src.getItem(i);" holst du dir doch nur den Zeiger auf das Objekt, oder? Deswegen ist mir nicht ganz klar, wieso bei "src.Delete(src.indexof(auto));" dieser nicht verworfen wird. Hat das vielleicht was damit zu tun, weil du das Objekt nicht freigibst (weil es ja weiterleben soll)?
richtig, ich lösche nur den Pointer (nach dem sichern in der variable) aus der alten Liste und füge diesen in die neue ein
das Objekt bleibt wie es ist (kein freigeben/neuerstellen)
Zitat von
Yheeky:
Inwiefern hilft hier die ebenfalls für TObjectList zu Verfügung stehende Methode "Extract"?
kann ich dir leider nicht sicher beantworten, da D3 keine Objectlist hat und ich damit keine Erfahrung habe. aber laut D7-Hilfe sollte das funktionieren.
Zitat von
Delphi 7 Hilfe:
Extract (Methode von TObjectList)
Die Methode Extract entfernt das angebene Objekt ohne es freizugeben aus der Liste.
Gruß Frank