[fpc-pascal] Does MACRO work in this case?
silvioprog
silvioprog at gmail.com
Mon Sep 19 04:35:58 CEST 2016
On Thu, Sep 8, 2016 at 6:27 PM, David Emerson <dle3ab at angelbase.com> wrote:
> On 09/08/2016 10:08 AM, silvioprog wrote:
>
>> Hello,
>>
>> Looking an alternative to solve the problem I've talked at this topic
>> <http://lists.freepascal.org/pipermail/fpc-pascal/2016-August/048635.html
>> >,
>> I've tried to solve it declaring a macro named "TIStringComparer.Ordinal":
>>
>
> Macros can only replace identifiers, the dot breaks it.
>
> I would make something like,
>
> _TIStringComparer_dot_Ordinal
>
> and then you can use the definition you proposed.
>
> I'm in the habit of naming macros with a leading underscore, as I don't
> name anything else that way and it makes it easy to identify them.
Thanks for sharing this info regarding macros. :-)
I've declared a macro trying to keep the Delphi syntax, so unfortunately I
can't declare it as _TIStringComparer_dot_Ordinal instead of
TIStringComparer.Ordinal, hence I've temporally declared it as:
class constructor TFoo.Bar;
begin
...
GVariables := TDictionary<string, string>.Create(
{$IFDEF FPC}
// see http://lists.freepascal.org/pipermail/fpc-pascal/2016-
August/048635.html
TEqualityComparer<string>.Construct(EqualityComparison, ExtendedHasher)
{$ELSE}
TIStringComparer.Ordinal
{$ENDIF});
end;
but I will remove the implementation above as soon as rtl-generics allow to
use TIStringComparer.Ordinal without workarounds.
--
Silvio Clécio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20160918/280995d1/attachment.html>
More information about the fpc-pascal
mailing list