Jump to content

Uwe Raabe

Members
  • Content Count

    2556
  • Joined

  • Last visited

  • Days Won

    149

Posts posted by Uwe Raabe


  1. The following code lists 355480 files in less than 15 seconds on my system.

    program TestGetFiles;
    
    {$APPTYPE CONSOLE}
    
    {$R *.res}
    
    uses
      System.SysUtils,
      System.IOUtils,
      System.Diagnostics;
    
    procedure Main;
    begin
      var sw := TStopwatch.StartNew;
      var arr := TDirectory.GetFiles('C:\Windows', '*', TSearchOption.soAllDirectories);
      Writeln(Format('%d Files, %d ms', [Length(arr), sw.ElapsedMilliseconds]));
    end;
    
    begin
      try
        Main;
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
      Readln;
    end.

     

    The dir command needs a lot of time to display the files, while the Delphi code avoids that.


  2. It may depend on the uses list and its order. The different Stat units register different default values:

    {FireDAC.Phys.SQLiteWrapper.FDEStat}
    initialization
      TSQLiteLib.GLibClasses[slDefault] := TSQLiteLibFDEStat;
      TSQLiteLib.GLibClasses[slFDEStatic] := TSQLiteLibFDEStat;
    
    {FireDAC.Phys.SQLiteWrapper.SSEStat}
    initialization
      TSQLiteLib.GLibClasses[slDefault] := TSQLiteLibSEEStat;
      TSQLiteLib.GLibClasses[slSEEStatic] := TSQLiteLibSEEStat;
    
    {FireDAC.Phys.SQLiteWrapper.Stat}
    initialization
      TSQLiteLib.GLibClasses[slDefault] := TSQLiteLibStat;
      TSQLiteLib.GLibClasses[slStatic] := TSQLiteLibStat;

    Manually adding FireDAC.Phys.SQLiteWrapper.FDEStat to the uses may solve the problem. I'd rather set the mode to an explicit value instead relying on a volatile default.


  3. 6 minutes ago, mvanrijnen said:

    by default they do not have a version in it

    What makes you think so? At least in my standard installation these folders are located under c:\Users\Public\Documents\Embarcadero\Studio\xx.x and c:\Users\<user>\Documents\Embarcadero\Studio\xx.x

    • Like 1

  4. 7 minutes ago, mvanrijnen said:

    Maybe the problem is that the Beta testing is done on "clean" systems only ?

    Most likely, yes, but there are several beta testers having a mixed version setup or even using their productive environment. As @Angus Robertson mentioned, there are other factors involved here that made this slip through.


  5. 17 minutes ago, gioma said:

    But what seems normal to you?

    Embarcadero knows about it and is working on an official solution.

     

    And before someone claims that could have been found during the beta: Most of the GetIt stuff is not available during beta until almost the last day and the majority of beta testers install in a dedicated environment without any prior Delphi version present. Also, not everyone makes use of all what is available in GetIt.

    • Like 1

  6. To have the Parnassus plugins work in Delphi 12 as well as Delphi 11.3 on the same machine you need to do either of this depending on your situation:

    • Before installing the Delphi 12 plugin: In folder c:\Program Files (x86)\Common Files\ParnassusShared rename ParnassusCoreEditor.dll into ParnassusCoreEditor_XAlexandria.dll
    • After installing the Delphi 12 plugin: Copy the 11 version of ParnassusCoreEditor.dll from the appropriate CatalogRepository folder as ParnassusCoreEditor_XAlexandria.dll into the mentioned folder
    • Like 3
    • Thanks 1

  7. The reason for these "Whole Word" problems was that there was only one setting in the registry for Search (Ctrl-F) and Search in Files (Ctrl-Shift-F). In D12 these are separate settings.

     

    So, if there are still problems they have another cause and steps to reproduce are mandatory to get this fixed.


  8. 2 hours ago, pyscripter said:

    Unfortunately though, your [RSP-35301] Option to design in Screen PPI but save in 96 PPI - Embarcadero Technologies is not, despite the many votes it got.  And by the way thanks for your article.  Highly recommended.

    The lack of implementing that feature request was the driving force behind writing that article. As long as everybody steps away from designing in High DPI the collected bug reports will only cover the obvious cases but miss the deeper ones. Thus I decided to use the form designer in High DPI for at least one of my projects and see how it goes. Obviously I had to develop a strategy and some workarounds to make it usable in the first place. Publishing it is based on the hope that others also step on that ship and share their findings, too.

    • Like 4

  9. 1 hour ago, JonRobertson said:

    Adding unit scopes to each unit reference is on the to-do list.

    You can have this for free:

    1. Open MMX properties and navigate to Pascal - Sorting
    2. Under Format unit uses clauses check Group and sort uses

    Now when you format the uses clause (with Ctrl-Alt-U while the cursor is inside a uses clause) MMX does the following:

    • Resolve any unit aliases
    • Resolve all unit scope names
    • Group the units as configured (see below)
    • Compress and wrap each group according to the settings

    The groups are configured per project in the MMX Project options setting. If the entry for Groups is cleared neither grouping nor sorting is done.

     

    Also these Project options have an Auto Format checkbox, which when checked forces the uses clause formatting whenever MMX manipulates a uses clause. 

     

    My personal preference would be to format the uses clauses without any other changes done to keep version control happy. This can be achieved by a command line tool available on GitHub: UsesCleaner

    It provides almost the same functionality as MMX, but targets complete projects instead of single units.

     

    • Like 1

  10.  

    3 minutes ago, Anders Melander said:

    I'm guessing all the people who have already implemented workarounds to handle HighDPI font scaling will think there's a bit too much 🙂

    Indeed, for me the biggest enhancement is the handling of font sizes regarding dpi changes. This eliminates a plethora of workarounds where fonts are adjusted in height, color or style and thus cannot rely on the ParentFont mechanism. 

     

    Besides that, there are currently 15 issues I reported in Quality Portal marked fixed in this release. Not that bad.

×