Jump to content

David Heffernan

  • Content Count

  • Joined

  • Last visited

  • Days Won


David Heffernan last won the day on October 25

David Heffernan had the most liked content!

Community Reputation

1492 Excellent


About David Heffernan

Technical Information

  • Delphi-Version
    Delphi XE7

Recent Profile Visitors

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

  1. David Heffernan

    Hot Reload in Delphi?

    Perhaps this is just the final confirmation of the end of days for Delphi, if Verity Stob isn't producing new Sons of Kahn material, then does Delphi really exist?
  2. David Heffernan

    Hot Reload in Delphi?

    Also, Verity Stob!
  3. David Heffernan

    Hot Reload in Delphi?

    I think this controversy was well covered at The Register, I'd read their articles if you are interested
  4. David Heffernan

    Hot Reload in Delphi?

    Great to see that MS has done the right thing here, although disappointing that it took so much pressure to make it happen. Good on El Reg for their reporting on this. Never ever going to happen for Delphi though!!
  5. Did they return the money that customers paid? If not, what did they do with it?
  6. Didn't they announce a few years ago that they would maintain a number of older versions with important patches, for some time after release of major upgrades, but then never did.
  7. 13.98 can't be exactly represented in a binary floating point type like double. What you can do is store the closest representable number to 13.98. However, unfortunately Delphi's library code that converts between decimal text and binary floating point is rather poor and has fallen behind just about every other mainstream language. The documentation you link to is pretty flawed too because it doesn't acknowledge representability. What problem are you trying to solve? Are you working with currency for instance? In which case binary floating point is not what you need.
  8. David Heffernan

    CharInSet revisited (again)

    I doubt you will achieve better than 0.1% improvement though. That said, I do want the compiler to do a better job producing efficient code. It shouldn't be getting in our way.
  9. David Heffernan

    CharInSet revisited (again)

    I guess there are scenarios where the warning is useful. Perhaps what they did wrong was not to make it more discerning.
  10. David Heffernan

    CharInSet revisited (again)

    I find that hard to believe. That operation is disk bound, or if the file is in disk cache then it is memory bound.
  11. David Heffernan

    CharInSet revisited (again)

    Yes you can. After all, CharInSet is implemented using the in operator. Which is why it should give the same performance as the in operator, because of inlining, but the inline engine is failing for 64 bit. For sure you can measure a difference in performance in the micro-benchmark, but can you measure it in the real program?
  12. David Heffernan

    CharInSet revisited (again)

    Unless I missed something, that's not the question in the original post. Is that what you are asking?
  13. David Heffernan

    CharInSet revisited (again)

    Why not suppress the warning? Or would you then be suppressing valuable warnings too?
  14. David Heffernan

    CharInSet revisited (again)

    That the set can't have a full range of char values doesn't mean that the char C can't have any value in the BMP. For sure you aren't ever going to find a C that has ordinal above 255 but the value of C may not be known at compile time. For instance you may be looping through the elements in a string.
  15. David Heffernan

    CharInSet revisited (again)

    function CharInSet(C: WideChar; const CharSet: TSysCharSet): Boolean; Given this declaration, how could it? Note that I assume that you mean UTF-16 surrogate pairs.