Jump to content

Uwe Raabe

Members
  • Content Count

    2750
  • Joined

  • Last visited

  • Days Won

    162

Everything posted by Uwe Raabe

  1. A version of MMX suitable for D7 can be found at the download page after clicking Previous versions. Delphi 7 is supported up to V13.
  2. Uwe Raabe

    Format uses clause

    Can you check if you have some file named Forms.pas or Forms.dcu anywhere in your search paths?
  3. Uwe Raabe

    Format uses clause

    Is that with all units of that project or only with some of them? Anyway, the implementation is quite similar to my command line tool UsesCleaner. If you are curious and the problem persists with that you can debug it yourself without giving away your project sources.
  4. Uwe Raabe

    Format uses clause

    I copied the uses clause as well as the group/sort-order from your post into a fresh VCL forms unit and this is what I get: uses System.Classes, System.SysUtils, Vcl.Forms, Vcl.Graphics, Vcl.Menus, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Controls, Vcl.Dialogs, Winapi.Windows;
  5. Uwe Raabe

    Format uses clause

    Sorry, but I cannot reproduce here. Can you give an example for such a uses clause, please? To be honest, I doubt that there is some wrong with the code. The algorithm tries to find a unit (like Sysutils or Forms) in the search path. If not found, it tries each entry in the Unit Scope Names. That doesn't rule out any uncommon uses clause, so I would like to see an example showing that problem.
  6. Uwe Raabe

    ExtractFileDir

    ExtractFileName(ExeName)
  7. Don't forget to tell them that they shall notify you when someday their hardware changes.
  8. TThread.ProcessorCount seems what you are looking for: /// <summary> /// The number of processor cores on which this application is running. This will include virtual /// "Hyper-threading" cores on many modern Intel CPUs. It is ultimately based on what the underlying /// operating system reports. /// </summary> class property ProcessorCount: Integer read FProcessorCount;
  9. Probably because the threads compete for a free core? If there are more threads than cores, they are not executed one after the other on a core, but are interrupted to give other threads a chance to run. It is even possible that a thread runs on several cores until it finishes. Given the timing for the 1 thread case, the theoretical minimum for 12 thread should be less than 100 ms, which is far away from the actual numbers.
  10. The size can be retrieved from System.TMonitor.CacheLineSize.
  11. Uwe Raabe

    TDataSet emulation without database

    Not when you add MidasLib to the uses clause.
  12. Uwe Raabe

    Time Between

    There is already TimeOf for that.
  13. Uwe Raabe

    Time Between

    Probably because Now contains the date and the time, while EncodeTime uses an implicit date of 0. You may have better results with MyTime := Time; // uses the time part only BackUpStart := dm.SettingBACKUPHOUR.AsDateTime; // which is 20:30 BackUpEnd := BackUpStart + EncodeTime(0,30,0,0); // which is 21:00
  14. Uwe Raabe

    Theme issue...

    Since Delphi 11 the Form Designer adapts to the theme set in the Appearance settings if the corresponding option is enabled.
  15. The variable is defined in the base configuration, so it is safe to use it in the inherited ones, but fails when used inside the base configuration itself. A possible solution is to normalize the project file with Project Magician, which places the variable in front of any others in the base configuration.
  16. Try $(SanitizedProjectName)
  17. Uwe Raabe

    Format uses clause

    I have my doubts that this will ever be switched on - at least not for a longer time. The option will be all or nothing. It will affect all uses clauses in all units, even in all projects if it were not restricted to the Project options. Especially when the Auto Format option is enabled it will kick in whenever MMX manipulates any of the uses clause. A possible way out of this could be to offer another MMX menu command instead of an always effective option (similar to the Format Uses - Alternate command). As long as the units are already sorted alphabetically, any subsequent format will keep that order. Nevertheless, if the demand for such an option is high enough I can see what can be done.
  18. Uwe Raabe

    RAD Studio 11.1 Patch 1

    I wouldn't bet on that. It should work as before when you start the IDE in High DPI unware mode. As older versions are nor High DPI aware anyway, one can just use the new features of D11 this way.
  19. Uwe Raabe

    Format uses clause

    No, that is intended. Sorting is only done on the group level, but keeps the order inside that group intact. That still allows for some control over the unit order - at least inside a group.
  20. Uwe Raabe

    ImageLists. One or Multiple??

    When High DPI support comes into play, there is near to none alternative to a central TImageCollection and individual TVirtualImageLists on each form. Using some SVG ImageCollection reduces the amount of different image sizes needed as well as the DFM size storing them. For years I practiced the several TImageLists in one datamodule approach, but that changed very quickly with High DPI support in my applications.
  21. Uwe Raabe

    Deploy without overwriting the DB?

    When you add System.StartUpCopy to the project, all files deployed to the StartUp subfolder of the app are copied to the Home directory on startup - if they don't exist there.
  22. Uwe Raabe

    How to change the icon of the active tab in TTabControl?

    You can use a local class helper to access the protected method: type TTabControlHelper = class helper for TTabControl procedure UpdateTabImages; end; procedure TTabControlHelper.UpdateTabImages; begin inherited UpdateTabImages; end;
  23. Uwe Raabe

    Survey of Delphi Versions in use??

    When you create a new topic you see the Content tab, but there is a second tab named Poll. That should give you all the tools you need.
  24. Well, the problem is not that it cannot find unit Vcl.ExtCtrls.dcu, but that it states it cannot compile that unit (which is expected and as stated above ist is something we definitely don't want). My guess is that your project or some 3rd party library contains a unit that is used by Vcl.ExtCtrls, but it doesn't match the one that comes with Delphi. You might want to scan the dcu output folder of your project and find dcu files that are also present in C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\win32\debug or C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\win32\release. When you found one or more, you have to search where they came from.
  25. Uwe Raabe

    MacOS universal binary - does delphi do this?

    No problem: New macOS ARM 64-bit Target Platform
×