On Thu, Sep 8, 2016 at 6:27 PM, David Emerson <dle...@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;
  GVariables := TDictionary<string, string>.Create(
    // see http://lists.freepascal.org/pipermail/fpc-pascal/2016-
    TEqualityComparer<string>.Construct(EqualityComparison, ExtendedHasher)

but I will remove the implementation above as soon as rtl-generics allow to
use TIStringComparer.Ordinal without workarounds.

Silvio Cl├ęcio
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org

Reply via email to