<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-03-13 15:56 GMT+01:00 Jim Leonard <span dir="ltr"><<a href="mailto:trixter@oldskool.org" target="_blank">trixter@oldskool.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="">On 3/13/2014 9:49 AM, Jim Leonard wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 3/12/2014 6:58 PM, Philippe wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
you could<br>
<br>
- store the actual collection to a TMemoryStream,<br>
<br>
- destroy the collection,<br>
<br>
- Load then a new collect to be sort with different method ...<br>
</blockquote>
<br>
Yes, that's what I'm doing now for every re-sort.<br>
</blockquote>
<br></div>
Actually, sorry, that's not *exactly* what I'm doing -- I'm creating a new TSortedCollection, using ForEach to iterate through the old collection to Insert into the new one, and then destroying the old one.  This copies only pointers (and runs through the Compare method) and is actually pretty fast -- it's just not elegant.<br>


<br>
If I stored the entire thing to a memory stream, it would copy all of the data and every re-sort would go pretty slowly.</blockquote></div><br></div><div class="gmail_extra">You are sorting only for display purposes? If so, maybe VirtualTreeView could do the trick.<br clear="all">

</div><div class="gmail_extra"><br>-- <br>Frederic Da Vitoria<br>(davitof)<br><br>Membre de l'April - « promouvoir et défendre le logiciel libre » - <a href="http://www.april.org" target="_blank">http://www.april.org</a><br>


</div></div>