Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by timfrost

  1. For only 200 values you would have to be running your algorithm many times a second in order to detect any differences. I would simply put all the values in an indexed array and every time you update a value, simply check it against the previous lowest value. Then save its index and update the lowest value if necessary. Whether this is practical or not depends on how many threads are simultaneously updating the values, how long the algorithm takes to run, and what the intervals are between iterations of the algorithm. I have no idea whether this is the fastest way to do it, but it is simple, and for 200 items, as I said, I would not care if it took a few microseconds longer. If microseconds are really important to you, then it is essential to test and measure, not guess; so you must ignore my advice.
  2. timfrost


    I have seen "kilometrage" used in UK English, and kilométrage in French. I would vote for it if you organized a competition, although it is ugly and not in wide use. If you are using the word as a column heading, you need something short. But in a descriptive sentence I would prefer a phrase like, "lifetime rolling kilometres" or "total kilometric distance". Googling lifetime kilometres only turns up FitBit links.
  3. timfrost

    No TEMSProvider on my component pallet

    If Rad Server is not visible, maybe your Delphi license does not include it.
  4. timfrost

    Saving a large project takes soooo Loooonnnnggg..

    Sysinternals tools may give you a clue as to what is happening. Process Monitor filtered on the Delphi process will show you if the active thread is busy accessing the file system or the registry, and Process Explorer will display the active threads of the process and can snapshot the stack of each one - it can show much more information about the process than Task Manager.
  5. timfrost

    MMX Beta 14.1 available

    Can I please say that I find the MMX user interface entirely satisfactory in daily use. This thread has reminded my about some useful features which I had forgotten about, despite many years of using the product. I would not want them removed, and since the icons take little space I would not want them hidden. There are perhaps minor features that I would improve, but they do not cause me any trouble and I appreciate that supporting the product is done as Uwe finds time to allocate to it.
  6. timfrost

    DIBControls by Droopy Eyes Software

    I have a copy of DIBControls.zip downloaded in November 2007, but I do not recall ever having used it. And an e-mail from Peter Morris in 2002 announcing the new Droopy Eyes website. Another Delphi component that has fallen by the wayside, perhaps. Though there are other disappeared items from even earlier that are still in use here.
  7. timfrost

    Slow PgUp in TVirtualStringTree

    Try a later VT version; I think 7.2.1 is the latest. I have noticed several speed enhancements mentioned in the changes/fixes.
  8. timfrost

    What to do with unsupported components?

    The obvious one that you have missed is to use an earlier version of Delphi, that matches the DCU version.
  9. timfrost

    New features in GExperts

    In my case the problem of the inability to select CPU view is related to MMX, but I also now agree with you that GExperts is involved also. I have been experimenting with both the checkboxes in the Delphi IDE key mappings, and the key mappings display in GExperts, and there are inconsistencies. I also tried Ctrl-Alt-D which picks an MMX action, even though Gexperts shows it in yellow.
  10. timfrost

    SVG Magic released

    The Torry listing for this says 'source on request'; and I agree with you about source code. And not seeing a published source price is never a good sign.
  11. timfrost

    New features in GExperts

    Answered on SourceForge (with apologies for believing the original report without testing). It turns out that Ctrl-Alt-C is one of the shortcuts defined and documented by MMX Code Explorer, and is easy to change. And I was pleased to discover the very useful list of shortcut key owners in GExperts, which I had never enabled before!
  12. timfrost

    New features in GExperts

    I have added a bug report on SourceForge
  13. timfrost

    New features in GExperts

    I used to think that the long-time failure of the CPU-window short-cut was an inexplicable Delphi bug, but I have always used GExperts in many Delphi versions. Thanks for identifying the probable source and I second your request for a fix (and the thanks for maintaining GExperts)!
  14. timfrost

    Right Process for Changing an Application's Icon?

    Don't forget to clear the Windows icon cache after you have made an icon change, to be sure that you are seeing what your users will see on first installing your application. Your search engine will find many ways to do this, some of them better than others...
  15. timfrost

    No menu content or popups anymore

    Which version of Delphi are you using? Is this is Rio or an older version?
  16. timfrost

    Blogged : Delphi Package Manager RFC

    I regret to say that as a library consumer I agree with Stephan Glienke on this. Instead of a package manager I already have an excellent tool to control all the third-party Delphi libraries we use. It's called FinalBuilder(!), and it does everything I need to build these libraries (and a few of our own) from source, and install all the design packages. This ensures that the source/DCU/BPL/DCP files are all where I expect them to be, not scattered around my drives at the whim of a third-party developer. There is a set procedure I follow for new Delphi versions, and a simple set of changes to make to a cloned copy of the Finalbuilder target for a new compiler and a new main folder of our Delphi source and library folders. For library upgrades, I never install a new library automatically into a production environment (so I will never use a "package manager"). Instead I install the source elsewhere, and first review all the changes with Beyond Compare (and apply our few source changes and fixes if still needed), before allowing them near the production development environment. I find from long experience that this the best way to eliminate surprises on upgrades. Separate targets in Finalbuilder can be conditioned to continue building with the old version, with perhaps older library versions also, while testing the new one. There are a couple of annoying third-party library installers we use, where it is impossible to turn off the 'build' process after install. For these I keep an old VM where I can run the installer, then move the source so that I can control the installation with our FinalBuilder project. For a few .Net applications we have needed, I have used Nuget for third-party libraries. Yes, the source and solution files get installed, and it is possible to modify source if needed (for each upgrade). But that is only possible, I believe, because the development environment has been designed, and Nuget integrated, to make this simple. Nobody could make that claim for Delphi, and that is why having a Finalbuilder project to do all this makes it so simple. I congratulate Vincent for having the vision to try to solve the packages issue for Delphi, but sadly I have to hope that it takes a long time before third-party vendors take it up and try to force me to use it! I do concede, however, that a feature like this would certainly help and encourage new users, and perhaps large teams, to make use of third-party libraries; but for sites with mature applications with a good number of libraries, and who need to manage changes carefully, I can only see new problems.
  17. timfrost

    Rio.1 does not save all layout settings

    I found this as: https://quality.embarcadero.com/browse/RSP-23655 I suggest you vote for it (as I have)
  18. timfrost

    Two GExperts bugs fixed, 14 to go

    And perhaps one more (though tiny): The very useful Warn Directive tool misses at least one warning. I found that COMBINING_SIGNED_UNSIGNED64 (1073) is absent. It might also be useful to have an option in the dialog to show the warning numbers (and perhaps sort on this value). I find that some numbered warnings have a descriptions which does not match the the name, making them hard to find in the list. For example the compiler reports "W1036 Variable 'x' might not have been initialized", but needs USED_BEFORE_DEF to suppress this.
  19. If making a mistake is not critical, just choose any of these algorithms; without knowing the context, and without detecting the language of the surrounding text, they seem about equally risky to me. If you are transferring money, or worse, measuring dosage of medicines, then none of them are of any practical use.