[Lazarus] TMask revisited

Juha Manninen juha.manninen62 at gmail.com
Sun Oct 17 09:08:29 CEST 2021


On Sun, Oct 17, 2021 at 1:10 AM Bart via lazarus <
lazarus at lists.lazarus-ide.org> wrote:

> I see you implemented the "old" constructors with the TMaskOptions
> parameter and deprecated them as suggested.
> Thanks for that.
> Maybe add: 'Will be removed in 2.4' or similar to the deprecated message?
> The corresponding Create in TMaskBase is not deprecated: is that by design?
>

Actually this will be published in 2.4 initially. After that the deprecated
stuff can be removed.
I added comments.


Thanks also for implementing MaskOpCodesDisableRange
> It needs to be apllied in the TShell* components, to presevere default
> behaviour.
>

ShellCtrls.pas was updated already in the initial commit d7036bb0009 last
wednesday.


The method TMask.MatchesWindowsMask still is not implemented, so it
> immediately causes compiler errors in my code.
> This also needs to be implemented an deprecated IMHO.
>

Ok, yes. I implemented it in c28cc988ec. It requires a
temporary TMaskUTF8Windows instance because the syntax is decided in
creation.


What does eMaskOpcodeOptionalChar do?
> It's not very clear to me from the comments in the code.
>

Good question. It is the one syntax I don't fully understand yet.
Below is an explanation from José himself. I will study this syntax later
and add more unit test cases.
---
eMaskOpcodeOptionalChar is the set "1[ab]2" matches "1a2" and "ab2" but not
"1c2".
---
I am not sure if it is correct. I will return to this later...

Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20211017/13706b9a/attachment.html>


More information about the lazarus mailing list