[DUG] Stupid /easy question
Roger Kingaby
roger at kingaby.net
Thu Oct 15 11:22:42 NZDT 2009
It's years since I saw anybody use the "absolute" keyword. The number
of times I've had to explain what it does and why you'd use it:-) What
better example could you find.
Regards
Roger
On 15/10/2009, at 11:11 AM, Robert martin wrote:
> That worked a charm :)
>
> Cheers
>
>
>
>
>
> Jolyon Smith wrote:
>>
>> As has been mentioned you can use the “built in” enumerator, but
>> that will only yield Pointer values, so you would then have to
>> typecast the results, or you should be able to use “absolute” to
>> achieve the typecast “declaratively” in the var declarations:
>>
>> var
>> addrFormatEnum: Pointer;
>> addrFormat: TCountryAddressFormat absolute addrFormatEnum;
>> begin
>> for addrFormatEnum in Self do
>> begin
>> Strings.AddObject(addrFormat.CountryName,
>> TObject(addrFormat.CountryRefAsInteger));
>> end;
>> end;
>>
>> But note that the above code is untested either for compilation or
>> behaviour. J
>>
>>
>> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz
>> ] On Behalf Of Robert martin
>> Sent: Thursday, 15 October 2009 10:45 a.m.
>> To: NZ Borland Developers Group - Delphi List
>> Subject: Re: [DUG] Stupid /easy question
>>
>> Hi
>>
>> Yeah I read examples of how to add enumerators but since
>> TObjectList already has one I didn't think I needed to. Guess I
>> do. Seems like it is a bit too much work for basic (small) classes
>> not frequently used (such as the one im working on). Will give it
>> a go anyway :)
>>
>> Thanks
>> Rob
>>
>>
>>
>>
>>
>> Jolyon Smith wrote:
>> You will have to implement an enumerator for your
>> TCountryAddressFormats
>> class that returns TCountryAddressFormat references.
>>
>> This isn't a language feature that "just works" - you have to put
>> some
>> infrastructure in place to support it.
>>
>> The feature appears to "just work" for a bunch of VCL types
>> (TStringList
>> etc) because the VCL already contains the necessary infrastructure
>> additions
>> (and which should provide the examplar implementations on which you
>> could
>> base your own).
>>
>>
>> -----Original Message-----
>> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz
>> ] On
>> Behalf Of Robert martin
>> Sent: Thursday, 15 October 2009 10:06 a.m.
>> To: NZ Borland Developers Group - Delphi List
>> Subject: [DUG] Stupid /easy question
>>
>> Hi
>>
>> After the D2010 presentation yesterday I decided I should actually
>> use
>> some of the D2007 features I had not gotten around to using.
>> Specifically the For .. in construct.
>>
>> I am sure I am missing something but here iss what I want to do
>>
>>
>> I have the following 'old school code' (note the base class here
>> inherits from TObjectList)
>>
>> procedure TCountryAddressFormats.LoadStringListWithCompanies(Strings:
>> TStrings);
>> var
>> Counter : Integer;
>> begin
>>
>> for Counter := 0 to Self.Count - 1 do begin
>> Strings.AddObject(
>> TCountryAddressFormat(Self.Items[Counter]).CountryName,
>> Tobject
>> (TCountryAddressFormat(Self.Items[Counter]).CountryRefAsInteger) );
>> end;
>> end;
>>
>> I wanted to replace it with
>>
>> procedure TCountryAddressFormats.LoadStringListWithCompanies(Strings:
>> TStrings);
>> var
>> CountryAddressFormat : TCountryAddressFormat;
>> begin
>> for CountryAddressFormat in Self do begin
>> Strings.AddObject( CountryAddressFormat.CountryName,
>> TObject(CountryAddressFormat.CountryRefAsInteger) );
>> end;
>> end;
>>
>> but I get the following error
>>
>> [DCC Error] AddressFormat.pas(157): E2010 Incompatible types:
>> 'TCountryAddressFormat' and 'Pointer'
>>
>> what am I missing ?
>>
>>
>> Cheers
>> Rob
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with
>> Subject:
>> unsubscribe
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with
>> Subject: unsubscribe
>>
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at delphi.org.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at delphi.org.nz with
>> Subject: unsubscribe
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with
> Subject: unsubscribe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20091015/e2869b7a/attachment-0001.html
More information about the Delphi
mailing list