<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
That worked a charm :)<br>
<br>
Cheers<br>
<br>
<div class="moz-signature">
<div class="Section1">
<p class="MsoNormal"><span style="color: rgb(255, 153, 0);" lang="EN-NZ"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="" lang="EN-NZ"><o:p>&nbsp;</o:p></span></p>
</div>
</div>
<br>
<br>
Jolyon Smith wrote:
<blockquote cite="mid:005201ca4d19$6673d9b0$335b8d10$@co.nz" type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
  </style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">As
has been mentioned you can use the &#8220;built in&#8221; enumerator, but
that will only yield Pointer values, so you would then have to typecast
the
results, or you should be able to use &#8220;absolute&#8221; to achieve the
typecast &#8220;declaratively&#8221;
in the var declarations:<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <pre>var<o:p></o:p></pre>
  <pre>&nbsp; addrFormatEnum: Pointer;<o:p></o:p></pre>
  <pre>&nbsp; addrFormat: TCountryAddressFormat absolute addrFormatEnum;<o:p></o:p></pre>
  <pre>begin<o:p></o:p></pre>
  <pre>&nbsp; for addrFormatEnum in Self do<o:p></o:p></pre>
  <pre>&nbsp; begin<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; Strings.AddObject(addrFormat.CountryName, <o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TObject(addrFormat.CountryRefAsInteger));<o:p></o:p></pre>
  <pre>&nbsp; end;<o:p></o:p></pre>
  <pre>end;<o:p></o:p></pre>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">But
note that the above code is untested either for compilation
or behaviour.&nbsp; </span><span
 style="font-size: 11pt; font-family: Wingdings; color: rgb(31, 73, 125);">J</span><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">
<a class="moz-txt-link-abbreviated" href="mailto:delphi-bounces@delphi.org.nz">delphi-bounces@delphi.org.nz</a>
[<a class="moz-txt-link-freetext" href="mailto:delphi-bounces@delphi.org.nz">mailto:delphi-bounces@delphi.org.nz</a>] <b>On Behalf Of </b>Robert
martin<br>
  <b>Sent:</b> Thursday, 15 October 2009 10:45 a.m.<br>
  <b>To:</b> NZ Borland Developers Group - Delphi List<br>
  <b>Subject:</b> Re: [DUG] Stupid /easy question<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal">Hi<br>
  <br>
Yeah I read examples of how to add enumerators but since TObjectList
already
has one I didn't think I needed to.&nbsp; Guess I do.&nbsp; Seems like it is a
bit too much work for basic (small) classes not frequently used (such
as the
one im working on).&nbsp; Will give it a go anyway :)<br>
  <br>
Thanks<br>
Rob<o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal" style=""><span style="color: rgb(255, 153, 0);"
 lang="EN-NZ">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span lang="EN-NZ">&nbsp;</span><o:p></o:p></p>
  </div>
  </div>
  <p class="MsoNormal"><br>
  <br>
Jolyon Smith wrote: <o:p></o:p></p>
  <pre>You will have to implement an enumerator for your TCountryAddressFormats<o:p></o:p></pre>
  <pre>class that returns TCountryAddressFormat references.<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>This isn't a language feature that "just works" - you have to put some<o:p></o:p></pre>
  <pre>infrastructure in place to support it.<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>The feature appears to "just work" for a bunch of VCL types (TStringList<o:p></o:p></pre>
  <pre>etc) because the VCL already contains the necessary infrastructure additions<o:p></o:p></pre>
  <pre>(and which should provide the examplar implementations on which you could<o:p></o:p></pre>
  <pre>base your own).<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>-----Original Message-----<o:p></o:p></pre>
  <pre>From: <a moz-do-not-send="true"
 href="mailto:delphi-bounces@delphi.org.nz">delphi-bounces@delphi.org.nz</a> [<a
 moz-do-not-send="true" href="mailto:delphi-bounces@delphi.org.nz">mailto:delphi-bounces@delphi.org.nz</a>] On<o:p></o:p></pre>
  <pre>Behalf Of Robert martin<o:p></o:p></pre>
  <pre>Sent: Thursday, 15 October 2009 10:06 a.m.<o:p></o:p></pre>
  <pre>To: NZ Borland Developers Group - Delphi List<o:p></o:p></pre>
  <pre>Subject: [DUG] Stupid /easy question<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>Hi<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>After the D2010 presentation yesterday I decided I should actually use <o:p></o:p></pre>
  <pre>some of the D2007 features I had not gotten around to using.&nbsp; <o:p></o:p></pre>
  <pre>Specifically the For .. in construct.<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>I am sure I am missing something but here iss what I want to do<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>I have the following 'old school code'&nbsp; (note the base class here <o:p></o:p></pre>
  <pre>inherits from TObjectList)<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>procedure TCountryAddressFormats.LoadStringListWithCompanies(Strings: <o:p></o:p></pre>
  <pre>TStrings);<o:p></o:p></pre>
  <pre>var<o:p></o:p></pre>
  <pre>&nbsp;&nbsp; &nbsp;Counter&nbsp;&nbsp;&nbsp;&nbsp; : Integer;<o:p></o:p></pre>
  <pre>begin<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; for Counter := 0 to Self.Count - 1 do begin<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Strings.AddObject( <o:p></o:p></pre>
  <pre>TCountryAddressFormat(Self.Items[Counter]).CountryName,&nbsp; <o:p></o:p></pre>
  <pre>Tobject(TCountryAddressFormat(Self.Items[Counter]).CountryRefAsInteger) );<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; end;<o:p></o:p></pre>
  <pre>end;<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>I wanted to replace it with<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>procedure TCountryAddressFormats.LoadStringListWithCompanies(Strings: <o:p></o:p></pre>
  <pre>TStrings);<o:p></o:p></pre>
  <pre>var<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; CountryAddressFormat&nbsp; : TCountryAddressFormat;<o:p></o:p></pre>
  <pre>begin<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; for CountryAddressFormat in Self do begin<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Strings.AddObject( CountryAddressFormat.CountryName, <o:p></o:p></pre>
  <pre>TObject(CountryAddressFormat.CountryRefAsInteger) );<o:p></o:p></pre>
  <pre>&nbsp;&nbsp;&nbsp; end;<o:p></o:p></pre>
  <pre>end;<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>but I get the following error<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>[DCC Error] AddressFormat.pas(157): E2010 Incompatible types: <o:p></o:p></pre>
  <pre>'TCountryAddressFormat' and 'Pointer'<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>what am I missing ?<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>Cheers<o:p></o:p></pre>
  <pre>Rob<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>_______________________________________________<o:p></o:p></pre>
  <pre>NZ Borland Developers Group - Delphi mailing list<o:p></o:p></pre>
  <pre>Post: <a moz-do-not-send="true"
 href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><o:p></o:p></pre>
  <pre>Admin: <a moz-do-not-send="true"
 href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</a><o:p></o:p></pre>
  <pre>Unsubscribe: send an email to <a moz-do-not-send="true"
 href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject:<o:p></o:p></pre>
  <pre>unsubscribe<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>_______________________________________________<o:p></o:p></pre>
  <pre>NZ Borland Developers Group - Delphi mailing list<o:p></o:p></pre>
  <pre>Post: <a moz-do-not-send="true"
 href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><o:p></o:p></pre>
  <pre>Admin: <a moz-do-not-send="true"
 href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</a><o:p></o:p></pre>
  <pre>Unsubscribe: send an email to <a moz-do-not-send="true"
 href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<o:p></o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>&nbsp; <o:p></o:p></pre>
  </div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: <a class="moz-txt-link-abbreviated" href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>
Admin: <a class="moz-txt-link-freetext" href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</a>
Unsubscribe: send an email to <a class="moz-txt-link-abbreviated" href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe</pre>
</blockquote>
</body>
</html>