Jump to content

Uwe Raabe

Members
  • Content Count

    2548
  • Joined

  • Last visited

  • Days Won

    148

Posts posted by Uwe Raabe


  1. 48 minutes ago, Brandon Staggs said:

    I think it would be more useful if they were to simply remove features that are broken beyond usability and not meant to be fixed.

    AFAIK, the plan was to make Refactoring opt-in, but it came with other regressions when not installed. So they finally made it opt-out.

     

    Anyway. It is commonly known since ages that any 0-release is not made for production. Let's wait for the first hotfix - at least.


  2. They found - what everyone else claimed for a long time - that it didn't keep up with the latest language enhancements. As it is based on other deprecated parts (i.e. Refactoring), they consequently marked it deprecated, too. Now they are working on or looking for replacements.

     

    Communicating that something is deprecated without having an alternative at hand is not necessarily a bad thing. People now know it advance what they can expect and rely on and what not.

    • Like 1

  3. 54 minutes ago, #ifdef said:

    But why do they need the outdated CE 12.x if they already have the outdated CE 10.x & 11.x?

    Because a CE license is valid for one year only. After that you have to request a new CE license which will only work with the current CE version.


  4. 2 hours ago, Kas Ob. said:

    then disabling will help

    Actually that looks like a reason to keep the current behavior instead of implementing the proposed one:

    4 hours ago, PeterPanettone said:

    The list in that window should display the CURRENT state of the available packages (which should return to its DEFAULT state when the project is closed).

     

    • Like 3

  5. It would have the drawback that packages are loaded and unloaded again when the same project (or another with the same package requirements) is opened next. So the current implementation may just be some sort of performance optimization.

     

    IMHO, it is sufficient when there are no packages missing after the next project is loaded or a new one created.

     

    Can you explain what practical benefits the requested behavior would have?


  6. I would split removing the bracketed strings and removing double blanks in separate methods.

     

    I am assuming the strings are well-formed here, which means that each opening bracket matches a closing bracket, no orphaned brackets and no nesting. Otherwise use one of the other algorithms shown above.

     

    function RemoveInBrackets(const AString: string): string;
    begin
      var arr := AString.Split(['(', ')']);
      for var I := High(arr) downto 0 do
      begin
        if Odd(I) then
          Delete(arr, I, 1);
      end;
      Result := string.Join('', arr);
    end;
    
    function RemoveDoubleBlanks(const AString: string): string;
    begin
      Result := string.Join(' ', AString.Split([' '], TStringSplitOptions.ExcludeEmpty));
    end;

     

     


  7. It is a long time flaw in the TMS package naming to neglect the LIBSUFFIX approach, which ever so often leads to such problems.

     

    That's why I have made my own packages using LIBSUFFIX in conjunction with a manual install process. It comes with the task to synchronize the DPR files contains clause for each update - a small price I am happy to pay.


  8. Better or not often is a matter of preference and personal needs.

     

    I for myself already gave a hint before: The availability of a stand alone and command line tool are a big plus for me.

     

    Side note: I have licenses for and actually worked with both, which helps to make a less biased comparison.


  9. 11 minutes ago, Attila Kovacs said:

    Each unit name belongs to a new line, with groups separated by an empty line.

    As that is a very personal preference, a similar feature is implemented on personal request in UsesCleaner branch FlixEngineering. It is available in the public repository for all those having individual formatting requests.

     

    Note that MMX will most likely not contain these for the near future.


  10. Better remove the trailing dots in Frame and Form. Plain group names get that automatically appended when looking for a match.

     

    F.i. a simple entry like Form matches unit names Form, Form.Tools and Form.Test, but not FormTest.

     

    Assuming that the x stands for the obfuscated parts in your screenshot, I get the following results with this Groups: 

    Winapi
    System.Win
    System
    Vcl
    Data
    FireDAC
    cx
    DM
    x
    x.Tools
    Frame
    Form
    uses
      System.Classes, System.SysUtils, System.Variants, System.Generics.Collections, System.Generics.Defaults, System.DateUtils,
      System.Math, System.StrUtils,
      Vcl.Imaging.pngimage,
      Data.DB,
      FireDAC.Stan.Param, FireDAC.Stan.Option, FireDAC.Comp.Client, FireDAC.Comp.Script,
      x.Classes.Common, x.Classes.Base, x.Classes.Data, x.Constants, x.Types, x.Database.Common, x.Preferences,
      x.Tools.Mapping, x.Tools.DateTime, x.Tools.TryFinally, x.Tools.Json, x.Tools.Regex, x.Tools.IO, x.Tools.BitMask,
      DataModuleTextConstants;

     

×