<div>I Didn&#39;t get through all the posts&#39; texts, but don&#39;t we need to count backwards when freeing list type thingies?</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for Counter := 0 to Self.Items.Count - 1 do begin</div>
<div>&nbsp;</div>
<div>Something like . ....</div>
<div>&nbsp;</div>
<div>for Counter :=&nbsp; Self.Items.Count - 1down to 0 do begin<br></div>
<div>Paul<br></div>
<div class="gmail_quote">2008/10/16 Robert martin <span dir="ltr">&lt;<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">(Resend didn&#39;t seem to come through last time)<br><br>Hi<br><br>Thanks Kyley.<br>
<div class="Ih2E3d"><br>I actually managed to get that somewhat working but picked up a number<br>of other issues. &nbsp;for now I have given up and just overridden the clear<br>procedure to free the items. &nbsp;Not great but for my purposes adequate.<br>
<br><br>Thanks to all for suggestions and comments.<br>Rob<br><br><br>Kyley Harris wrote:<br></div>
<div class="Ih2E3d">&gt; Override:<br>&gt; &nbsp; &nbsp; function GetItemsClass: TCustomComboBoxStringsClass; virtual;<br>&gt; abstract;<br>&gt; Create your own subclass of TCustomComboBoxStrings and override the<br>&gt; Item add and Item delete routines. You need to place a synched copy of<br>
&gt; your objects into a seperate list so that when the windows handle to<br>&gt; the combobox is released or recreated you don&#39;t loose your object<br>&gt; pointers. you can also add asserts or tests on the combobox.handle<br>
&gt; rather than letting it crash all the time. then on the destroy of your<br>&gt; TCustomCombobox strings free all the objects in the list.. This would<br>&gt; be easiest by using a TObjectList with owns objects = true.<br>
&gt;<br>&gt;<br>&gt;<br>&gt; On Wed, Oct 15, 2008 at 4:22 PM, Robert martin &lt;<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a><br></div>
<div>
<div></div>
<div class="Wj3C7c">&gt; &lt;mailto:<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a>&gt;&gt; wrote:<br>&gt;<br>&gt; &nbsp; &nbsp; Hi<br>&gt;<br>&gt; &nbsp; &nbsp; Just trying to make a TComboBox that automatically frees its items.<br>
&gt;<br>&gt; &nbsp; &nbsp; I have the following code in the destructor<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp;if (fAutomaticallyFreeObjects = True)<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and ((csDesigning in ComponentState) = False) then begin<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;try<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for Counter := 0 to Self.Items.Count - 1 do begin<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;O := Items.Objects[Counter];<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (O &lt;&gt; nil) then begin<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; O.Free;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;except<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on e: exception do begin<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ShowMessage(IntToStr(i) + &#39; &#39; + &#39;Attempting to<br>&gt; &nbsp; &nbsp; automatically free object memory. &nbsp;The following error occured...&#39; +<br>
&gt; &nbsp; &nbsp; #13#13 + e.message);<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp;end;<br>&gt;<br>&gt;<br>&gt; &nbsp; &nbsp; I get a &#39;Control &#39;&#39; has no parent error. &nbsp;This happens when attempting<br>&gt; &nbsp; &nbsp; to access the .Items property. &nbsp;My custom error handling does not<br>
&gt; &nbsp; &nbsp; trigger.<br>&gt;<br>&gt; &nbsp; &nbsp; Any suggestions ?<br>&gt;<br>&gt; &nbsp; &nbsp; Thanks<br>&gt; &nbsp; &nbsp; Rob<br>&gt; &nbsp; &nbsp; _______________________________________________<br>&gt; &nbsp; &nbsp; NZ Borland Developers Group - Delphi mailing list<br>
</div></div>&gt; &nbsp; &nbsp; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>&gt; &nbsp; &nbsp; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
</div>&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt; with Subject: unsubscribe<br>
<div class="Ih2E3d">&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; Kyley Harris<br>&gt; Harris Software<br>&gt; +64-21-671-821<br></div>&gt; ------------------------------------------------------------------------<br>
<div>
<div></div>
<div class="Wj3C7c">&gt;<br>&gt; _______________________________________________<br>&gt; NZ Borland Developers Group - Delphi mailing list<br>&gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>&gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<br><br>_______________________________________________<br>NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<br>
</div></div></blockquote></div><br>