Jump to content

David Heffernan

Members
  • Content Count

    3586
  • Joined

  • Last visited

  • Days Won

    176

Everything posted by David Heffernan

  1. David Heffernan

    Why upgrade?

    It costs me time and money to upgrade and for now I'm missing nothing by sticking to XE7. But that's just me. Different users will have different drivers. Nobody can made a blanket statement like
  2. David Heffernan

    How to make app with tabbed set of VNC windows

    It makes no difference to the operation of the code, its just worth being aware of the difference between THandle, which is a handle to a kernel object, and HWND which is a window handle. The Delphi rtl has been a little sloppy over the years distinguishing different handle types so it's not surprising that some of the rubs off.
  3. David Heffernan

    Debug visualizers

    Imagine if the Delphi debugger was able to evaluate expressions without generating memory leaks in the debugger?
  4. David Heffernan

    Why upgrade?

    Sounds like management are right here. Why should they spend money on upgrading? And it's probably less the license costs but mote the time cost of the staff migrating code and tools.
  5. David Heffernan

    How to make app with tabbed set of VNC windows

    Nope. It's an HWND. A THandle is quite different. Also, https://devblogs.microsoft.com/oldnewthing/20130412-00/?p=4683
  6. David Heffernan

    pre-generic dictionary class

    TST, like binary tree, requires there to be an ordering of the key values?
  7. David Heffernan

    AddFontResource/Ex not working on some machines

    Quite possibly depends on the font files as well. Can't imagine this is related to Delphi.
  8. David Heffernan

    pre-generic dictionary class

    It is easy. And there are open source dictionaries out there. As for whether they are compatible with the GExperts license, I've no idea.
  9. David Heffernan

    pre-generic dictionary class

    Expand a generic dictionary implementation manually. Just replace the TKey and TValue textually. It would also be very valid to stop developing GExperts for pre generic delphi.
  10. David Heffernan

    SVG control package v2.3 update 4 released

    If you don't like the terms, don't buy the product. We all have a right to set the terms of any products that we sell.
  11. Open array of record, using a function or record constructor to populate new instances of that record. Syntax support for initialization is a bit crappy in Delphi sadly.
  12. David Heffernan

    TTimer equivalent with smaller interval

    The question literally asks about intervals less than that which you obtakn with a timer. You'll find that Sleep has the same performance as a timer.
  13. Strange way round. Wouldn't it be normal for you to prove your prime claim?
  14. David Heffernan

    TTimer equivalent with smaller interval

    Try timing Sleep(1) with TStopwatch.
  15. I'm not suggesting that you don't preallocate with a sensible capacity if you know it. I would always do that. In multithreaded code especially, minimising heap allocation is always advisable.
  16. Ofc, you don't have to use the RTL dictionary. The spring4d dictionary has a number of powerful features. I don't think the growth is such an issue. Collisions can be, and better hash and proving would help. The issue for small collections is simply the constant of proportionality. O(1) can be slower than O(log n) for small enough n.
  17. Not so simple. For small collections the dictionary can be slower.
  18. David Heffernan

    Combining bitmaps and preserving antialiased text quality...

    There is transparency at the pixel level. PNGs have an alpha channel for that.
  19. David Heffernan

    Combining bitmaps and preserving antialiased text quality...

    In general you can't do this. Anti-aliasing requires knowledge of the background at the point where the text is rendered. If the original background is a single colour then it may be possible, but will require clever processing. What you ought to do is simply render the text again on the new background.
  20. PPL is a library too. It's also quite big. Why does it matter how big a library is? It would seem odd to me that there would be no problem using a library known to have many defects still, over a high quality library. Who in their right mind would choose the lower quality library facing this choice?
  21. Much of the development I do is refactoring. Not for its own sake, but to enable a new development. Typically this means refactoring existing code, relying heavily on the testing of that code, so that the new development can be added easily. Often the bulk of the time is spent refactoring and then the new development is trivial. In other words, even when code is well factored, it often needs to be refactored. Also, its not at all the case that replacing standalone functions with classes always makes your code better. Don't be afraid to have standalone functions if that is the right design.
  22. David Heffernan

    TTimer equivalent with smaller interval

    Timers are event driven. You are suggesting polling. That's no good.
×