Jump to content

Bill Meyer

  • Content Count

  • Joined

  • Last visited

  • Days Won


Bill Meyer last won the day on July 8 2019

Bill Meyer had the most liked content!

Community Reputation

121 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bill Meyer

    Using Delphi in Virtual machine for a month

    Interesting. I've been very happy on VBox, and the changeover would be tedious, but the main thing holding me back would be that VBox apparently does not work well with Hyper-V enabled, so it is one road or the other. In my work, graphics play no part, so I have not seen any reason to be unhappy on that score.
  2. Bill Meyer

    Boolean evaluation

    Another suggestion I offer is that when you must evaluate more than a few terms, it can be helpful to make use of local variables. This is especially true where each of your terms is itself lengthy, such as SomeObj.SomeMember.AProperty. Similarly, if several terms evaluate properties in a complex object, then rather than writing: if SomeObj.SomeMember.TermOne and SomeObj.SomeMember.TermTwo and SomeObj.SomeMember.TermThree then You might instead do: var obj: TMySubClass; begin obj := SomeObj.SomeMember; if obj.TermOne and obj.TermTwo and obj.TermThree then I also find that with many terms and long reference names, the odds of making errors in precedence increase rapidly. And the reason for that is that the mess in front of your eyes is approaching incomprehensibility. 😉
  3. Bill Meyer

    Boolean evaluation

    My roots were in hardware logic. Excess terms in hardware translates to using unnecessary parts, each with a measurable cost. Logic reduction is as important in software as in hardware. We don't see a hard cost for the unnecesary terms, but the cost is there, nonetheless. Look at the simplified form Lars presents. Not a big deal in small cases, but in complex chains of logic, failure to minimize becomes a maintenance issue; it impedes understanding.
  4. Bill Meyer

    Generics and Classes on Windows 2000 = OOM

    You appear to assume that this environment will continue to be viable as new versions of Delphi roll out. Unfortunately, the prevailing assumption in the development world is that a) memory is cheap, and b) it is measured in GB. Even without generics, the difference in an application built in Delphi XE and Delphi 10.2 is huge. In the case of a small app of my own, XE produced a 3MB executable, while 10.2 was over 70MB. These numbers are not horrible, but in the context of Windows 2000 treated as an embedded system, I think you are nearing the end of the line for those old systems. You may buy some time by avoiding generics, but sooner or later, you will hit a wall. In a system where your available resources are soldered into the product, you may well need to support a version for those systems which builds in an earlier version of Delphi, and perhaps cannot acquire the same new features as your main application.
  5. Bill Meyer

    Error on Replace Components

    I need to replace components in a large project. Have not previously tried to do this with GExperts, but routinely use it in single forms. On trying to run against all forms in the project, I got this error: The total count of the target components was 193. After the failed replace, it was 146, so has done some of the work before failing.
  6. Bill Meyer

    MMsystem and Joystick

    This may be worth exploring: https://torry.net/quicksearchd.php?String=joystick&Title=Yes
  7. Bill Meyer

    Tool to fix up uses clause unit namespaces?

    Spent a bit of time with your source. So far, it appears to correctly handle some of the thornier issues which we have in our legacy code. I do need to do some additional testing, and find my way to some of the settings, but what I see so far is very encouraging.
  8. From Primož Gabrijelčič's latest book: vs.
  9. Bill Meyer

    Startup Forms

    Perhaps there has been some change over versions in when the desktop save is accomplished. In D2007, where I spend a good deal of time, the behavior I described is so consistent that I sometimes treat it as a feature.
  10. Bill Meyer

    Startup Forms

    If you found it necessary to kill Delphi, then the desktop would not have been updated, and on the next open, the files presented would be from the last saved desktop state.
  11. I think we all recognize that our skills evolve. And so does our thinking. Moreover, today's "best practices" will someday probably be superseded. Any non-trivial code can be improved.
  12. Bill Meyer

    Tool to fix up uses clause unit namespaces?

    If I get out from under some of my other tasks, I will. My TODO list is a bit long at the moment. 😉
  13. Bill Meyer

    Tool to fix up uses clause unit namespaces?

    Is it not true, though, that they both refuse to tangle with comments -- and compiler directives -- in the uses clauses? That is an issue for the couple of thousand modules I need to process. And yes, it is a less simple problem than it looks. I spent some time on it, and was not willing to spend more, as I have other priorities which demand my time.
  14. Bill Meyer

    Filter Checkboxes for the Messages list?

    Perhaps I should have said "disappointing" defect repair. Although there has been some renewed effort in the last year or two, there remains a long list of issues, some of which have been around for a very long time.
  15. Bill Meyer

    Filter Checkboxes for the Messages list?

    Have you followed the last decade of uneven support efforts?