Jump to content

David Heffernan

Members
  • Content Count

    3668
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by David Heffernan

  1. David Heffernan

    Why upgrade?

    True. But that's not necessarily less work. By batching a few releases together you reduce the number of context switches. That can easily be significant. If you do maintenence then you need to maintain a greater number of Delphi installations per dev machine if never skip. In my case I have to apply bespoke patch to rtl code to fix all the floating point defects that Emba won't fix. And that requires a chunk of work for every distinct version of Delphi. Skipping reduces that overhead. So blanket statements are easily seen to be bogus. It all depends on context.
  2. David Heffernan

    Why upgrade?

    OK, so you agree with me.
  3. David Heffernan

    Why upgrade?

    This makes no sense to me. You only deal with breaking changes if you keep current. You present an either or choice that's actually a both or neither!
  4. 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
  5. 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.
  6. David Heffernan

    Debug visualizers

    Imagine if the Delphi debugger was able to evaluate expressions without generating memory leaks in the debugger?
  7. 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.
  8. 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
  9. David Heffernan

    pre-generic dictionary class

    TST, like binary tree, requires there to be an ordering of the key values?
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. Strange way round. Wouldn't it be normal for you to prove your prime claim?
  17. David Heffernan

    TTimer equivalent with smaller interval

    Try timing Sleep(1) with TStopwatch.
  18. 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.
  19. 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.
  20. Not so simple. For small collections the dictionary can be slower.
  21. David Heffernan

    Combining bitmaps and preserving antialiased text quality...

    There is transparency at the pixel level. PNGs have an alpha channel for that.
  22. 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.
  23. 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?
×