Fr0sT-Brutal/Delphi_OSMMap

Trunk to Stable ?

Closed this issue · 2 comments

Good morning,
I installed a trunk version for FCP and Laz. Some of the components that I use from the "online Package Manager" no longer install without error.
Is it possible for you to modify your component for a stable installation of FPC and Laz?
Thanks

Hi!
Trunk is needed for anonymous functions, it's just about a year since FPC team implemented what has been in Delphi since D2009 I suppose. And this is needed for clean code calling ReplaceTokens inside TilesProvider and inside TMapMarkList.GetComparer. It's possible to rewrite for older versions but this would be a short-time patch until they release next version.
You can patch it yourself:

TReplTokenCallback = {$IFDEF CAPS_REFERENCE}reference to{$ENDIF}
function(var Token: string{$IFNDEF CAPS_REFERENCE}; Vars: array of const{$ENDIF}): Boolean;

function ReplaceTokens(const Patt: string; TokenStart, TokenEnd: Char; EatUnmatched: Boolean;
Callback: TReplTokenCallback{$IFNDEF CAPS_REFERENCE}; Vars: array of const{$ENDIF}): string;

inside ReplaceTokens:

if Callback(Token{$IFNDEF CAPS_REFERENCE}, Vars{$ENDIF}) then
  Result := Result + Copy(Patt, TxtBeg, PosBeg-TxtBeg) + Token

and modify the callback

also adjust TMapMarkList.GetComparer - I don't know how, just follow the interface of the method

Hi,
if the trunk is included in its entirety in version 3 which should not be long, that suits me too..
François