Jump to content

dummzeuch

Members
  • Content Count

    2641
  • Joined

  • Last visited

  • Days Won

    91

Everything posted by dummzeuch

  1. GExperts also uses InnoSetup. So far there are no problems that I am aware of.
  2. There have been multiple bug reports regarding the stand alone Experts Manager that comes with GExperts. They all have in common that they fail with the error Expertmanager: ExpertManager.exe – System Error The program can’t start because vclactnband250.bpl is missing from your computer. Try reinstalling the program to fix this problem. Or similar messages giving a different package or a different version of the package. So, what is the cause? In short, you have most likely used the wrong GExperts installer. You must always use the one for the Delphi version you have installed. E.g. the current beta version for Delphi 10.3 Rio does not work for any of the older versions. Technically this is what happens
  3. dummzeuch

    Editing binary files in Delphi

    Yes, I knew. And since the IDE hijacks drag&drop of files on some of its (and some plugin's) dialogs, I'm not very pleased with this. (e.g. Try to drag a file onto the GExperts "PE Information Expert". It works fine in the stand alone version, but when it's open in the IDE the file doesn't get opened in the PEIE but in the stupid hex editor. </rambling>
  4. The new version is called Project Magician
  5. dummzeuch

    What is the fastest way to check if a file exists?

    In the first 24h you can edit the post and remove the text yourself, but you cannot remove the post. You should use the "Report Post" function for that, so one of the admins gets notified who can do that.
  6. The quality of the online documentation for Delphi at docwiki.embarcadero.com has improved significantly since the time when Borland fired all their help authors, so it is actually worth looking at when you want to know anything. I see links to topics in that documentation in blog posts and in online forums (e.g. DelphiPraxis [German] [English]), but they always link to a specific version of that documentation (e.g. the one for Delphi 10.1 Berlin). I am sure most posters would like to link to the latest version rather than a specific version but don’t know how to do that or that it is even possible. The good news is: It is possible [...] https://blog.dummzeuch.de/2018/11/30/linking-to-the-current-delphi-documentation/
  7. dummzeuch

    Display the title

    On mobile it is difficult to get to the title of a post once it has moved out of the screen. One has to scroll all the way up to the top, because mobile browsers don't show the title bar. Basically the same is also true for desktop browsers since these moved the tabs or the menu into the title bar. Is there any option to have it shown permanently on the top of the page? Why is that a problem? I enter DP through the "unread posts" page and then open those posts in new tabs. Then I close the first tab and go through the ones I opened. Usually the title is not visible there.
  8. dummzeuch

    Display the title

    Yes, that title is visible at the bottom, if the windows is wide enough (mine isn't). On mobile it is not there. (I hate those dynamic layouts, they are always just not good enough. I had to tweak the Wordpress theme on my own blog to look the way I want it to look on my usual browser window width (960 pixels = 1920/2).)
  9. dummzeuch

    What is the fastest way to check if a file exists?

    FileAge uses GetFileAttributesEx internally, which in my tests was slower than GetFileAttributes which the RTL uses in FileExists.
  10. Did all those UI changes really work in favour of Windows 10? They definitely didn't for Windows 8.
  11. I've got a bunch of text files, up to a few hundred, each containing up to a few thousand lines, but some only maybe ten. Each line contains a single word, the lines are sorted, and the words are unique within the file (but not unique over all files). I need to read those files and add them to an in memory structure where they should be sorted and each entry should have a reference back to the file name it came from. This list should still contain the duplicates, so there could be multiple entries of "bla", one from file "foo", another from file "bar" etc. So far I use a stringlist to store the result, with a shared PChar for each file name stored in the Objects property. Reading the files is done with a temporary stringlist and LoadFromFile. I then add the strings one by one to the result using AddObject. In the last step I sort the whole list. This works, but it takes several seconds (which feels like eternity), even when read from a SSD. This is a problem because it happens frequently and the files are always different (no caching possible). So, what can be done to speed this up? I don't think that inserting into a sorted result list would be faster than adding unsorted and sorting at the end. Would setting the Objects properties first and then using AddStrings for each file be faster? I guess I should do some timing to find the bottleneck(s).
  12. dummzeuch

    Speed up reading multiple text files

    (This is a different set of files, so this result can't be directly compared to the above.) It turns out that I wasn't doing anything wrong. It's not the loading and inserting that takes so long but building the list of files to load: loaded 1649 files found 188045 words searching time 2121 ms processing time 275 ms loading time 83 ms inserting time 10 ms sorting time 462 ms total time 2859 ms Thanks for listening. I think I'll just go down into the cellar to weep. 😉
  13. dummzeuch

    Speed up reading multiple text files

    Hm, I must be doing something wrong: Initialize with: StopWatch := TStopWatch.Create; Start with: StopWatch.Start; Stop with: StopWatch.Stop; Continue with: StopWatch.Start; Get the total elapsed time in ms: Res := StopWatch.ElapsedMilliseconds; But the times don't add up. I looks as if the total elapsed time is only the time since the last call to Start.
  14. dummzeuch

    Speed up reading multiple text files

    It seems that I have to use something different from GetTickCount. If I try to distinguish between loading the a file and inserting its entries into the result list, the resolution isn't high enough and I end up with a total loading time of 109 ms and total inserting time of 15 ms. Obviously those don't add up to 4 seconds. OK, I need that high performance timer code I have got somewhere .. @Primož Gabrijelčič since loading takes 4 seconds I don't think spending any time trying to speed up sorting will help any.
  15. dummzeuch

    Speed up reading multiple text files

    Just did some timing: First try: Loading 2796 files with 1000377 lines in total loading takes 4125 ms sorting takes 375 ms Second try (the same files, possibly now in the file system cache) loading takes 4204 ms sorting takes 359 ms Third try (the same files, possibly now in the file system cache) loading takes 4235 ms sorting takes 359 ms Timing was done with GetTickCount. So it seems that the bottleneck is not sorting but loading the files or adding the entries to the result list.
  16. dummzeuch

    Speed up reading multiple text files

    By the default sort order of TStringList.Sort.
  17. dummzeuch

    Speed up reading multiple text files

    I'm not doing that. The temporary string lists have not set Sorted to true, the files just happen to be sorted already (because they are in fact created with SaveToFile of a sorted string list in a different program).
  18. dummzeuch

    Speed up reading multiple text files

    It's used for (incremental) filtering, e.g. I type "bl" and get two entries with "bla", one from file foo, the other from file bar. And of course additional entries that match "bl", like "blub" or "blood": filter: bl Result: bla -> foo bla -> bar blub -> spacebar blood -> human Because they are different entries. There are no duplicates within the same file, but there may be duplicates from different files. I want to display both.
  19. I just found that I could not compile from command line because the dotNET framework version 4.5 is not installed on my computer (running Windows 8.1). Oddly enough, the IDE works and compiles fine. According to: http://docwiki.embarcadero.com/RADStudio/Rio/en/Installation_Notes ---- Attention: You need to have .NET Framework 4.5 or later installed on your computer to successfully install RAD Studio. If the installer cannot find .NET Framework 4.5 or later installed on your computer, it prompts you to download and install it to continue with the RAD Studio installation. ---- The installer should have prompted me to install it, but it didn't. I used the installer from the downloaded DVD image. Is that just a fluke? Did anybody get this prompt?
  20. dummzeuch

    mORMot running on Delphi 10.3 Rio

    That should probably be >"Enterprise" and "Architect" features are missing<, because CE is supposed to have the same feature set as Professional.
  21. dummzeuch

    Always check the tab order in your dialogs!

    No, that's Visual Basic programs.
  22. My coworkers know my obsession with the tab order in dialogs. I frequently tell them to check it before committing code to the repository (they even released it at some time 😞 ). Now I have to do the same with Embarcadero: https://quality.embarcadero.com/browse/RSP-21726 Why did I notice? Because it broke the GExperts enhancement for the Run -> Parameters dialog. Now I have to change that code yet again.
  23. dummzeuch

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    The same problem exists in Delphi 10.2 with any theme but the light one. And there the light theme isn't a real theme anyway but the native VCL look.
  24. dummzeuch

    GExperts 1.3.12 beta for Delphi 10.3 Rio available

    I had an unfair advantage: A popup menu that did work. So all I had to do was compare them.
×