Jump to content

David Heffernan

Members
  • Content Count

    3586
  • Joined

  • Last visited

  • Days Won

    176

Everything posted by David Heffernan

  1. David Heffernan

    Delphi compatibility with Windows 11?

    From my brief time with win11 it seems really responsive. Start menu search is instant which is huge.
  2. David Heffernan

    Kaspersky and Compile/Linking

    The only real solution is to attack the source of the problem. Kaspersky.
  3. Not wishing to defend Perl too much, but that function could be written more clearly with a named variable, but it would look much the same in any language. The regex wouldn't change. In fact the regex match and substitute syntax in Perl is actually very readable. I don't think the Delphi version would be clearer.
  4. When has an abundance of visual noise been a problem before with Pascal, the most verbose of languages!!!
  5. You shouldn't add any files to the system directories, either system32 or syswow64. They are for the system.
  6. David Heffernan

    Is Graphics32 ready for Delphi 11 yet?

    Well done. It usually turns out that there's very little that needs to be done to update a library to a new version, but the number of errors can be daunting until you realise that they are all the same error!
  7. David Heffernan

    Is Graphics32 ready for Delphi 11 yet?

    Have you tried cloning the latest from the repo and then compiling it?
  8. Does TMonitor work correctly yet?
  9. David Heffernan

    Running Python scripts in threads

    Why are you looking to use threads? What problem are you trying to solve with threads? Are you aware of the impact of the Python GIL?
  10. David Heffernan

    Is it bug? (type inference)

    You missed the point. I'm not disputing that the variable is Extended. I'm discussing the terminology decimal, binary, floating point and fixed point.
  11. David Heffernan

    Is it bug? (type inference)

    That's even worse! Currency is decimal fixed, but Single, Double and Extended are all binary float! Probably you are trolling me now for fun!
  12. David Heffernan

    Is it bug? (type inference)

    Currency isn't a floating point type, it's a fixed point type. Sorry to be so pedantic, but you know me on this topic......
  13. David Heffernan

    Is it bug? (type inference)

    This is clearly a bug. Check if there is a bug report in QP, and if not submit one.
  14. David Heffernan

    Traybar application, get the last active windows on desktop

    It uses a timer to poll and therefore is likely to be unreliable
  15. Consequence of your decision to use an ancient tool. Upgrade to modern delphi.
  16. David Heffernan

    New to JSON

    There are lots of articles and resources and examples on JSON parsing on the web. What have you found and what have you tried. Did you start by parsing a very simple bit of JSON first. You shouldn't try to learn something new by trying to solve your ultimate problem. Start simple and work up.
  17. David Heffernan

    Traybar application, get the last active windows on desktop

    I think that when windows are activated they are also told which window is being deactivated to make this window activate. Perhaps that's what you need.
  18. David Heffernan

    Compiler detecting repeated lines?

    What if the function has side effects?
  19. David Heffernan

    Unit testing for beginners

    I don't think it is this simple though
  20. David Heffernan

    Unit testing for beginners

    That doesn't make sense. You seldom attempt to write tests that exercise all combinations. That's the art of testing, finding a good set of test cases that are concise enough to verify, yet broad enough to provide comprehensive coverage.
  21. David Heffernan

    Unit testing for beginners

    And then proceeds to offer six bullet points of advice! I think that there is a lot more to unit testing than meets the eye. Unit testing is clearly about proving correctness of your code at the time you write it. It's also obviously about ensuring correctness of the code in the future in the face of modifications to code, refactoring etc. But I think what is often overlooked is that unit testing (and indeed other forms of testing) is very much about defining what your code does, pinning down the contract between the code and its clients (fancy word for the things that call the code under test). Well written tests can provide clear documentation of the code under test. This can be extremely useful when you need to remind yourself what a particular piece of code does. The implementation of the code may be hard to read and extensive. The documentation of the code may be sparse or non-existent. But a well-written test can provide the information you need to fully understand what you can expect a function or class to do. Furthermore, I routinely find that when I write tests, especially with this perspective of a test as documenting the contact, that I am unhappy with the original implementation and the contract that is implied. I will then refactor the code to achieve the contract that I want. This implies that testing early is good. Test driven development takes that view to the ultimate of writing tests before the code. But even if you aren't going that far, write tests as early as possible. Then when you discover that the contract isn't ideal, you can change it and reduce the impact of that change. Change to design always has smaller impact the earlier it is done in a design process.
  22. David Heffernan

    One-button app to stop all explorer windows from flashing.

    Perhaps the behaviour is caused by the manner in which you create these windows. We don't know that.
  23. David Heffernan

    Unit testing for beginners

    You don't need a Delphi specific text to learn about unit testing. In fact I expect that the best texts won't be Delphi specific.
  24. David Heffernan

    A nice scaled false bug in Delphi 11 update 1

    What value does the form's Position property have?
  25. David Heffernan

    Pos, SplitString

    Your Pos statement will find FOR SELECT so will call Open. But you say ExecSql is called. What you describe happening doesn't match the code therefore. I am confused. Also SQL is case insensitive but Pos is not.
×