Jump to content

David Heffernan

Members
  • Content Count

    3710
  • Joined

  • Last visited

  • Days Won

    185

Everything posted by David Heffernan

  1. David Heffernan

    Is a "bare-minimum" EurekaLog possible?

    And what about Mathias' response in that thread?
  2. David Heffernan

    Is a "bare-minimum" EurekaLog possible?

    madExcept does support nested exceptions.
  3. David Heffernan

    Has anyone tried running Delphi on Windows ARM?

    That does sound funny. Is it true though?
  4. David Heffernan

    SetLength TBytes Memory Leak

    Are you saying that it was in the end nothing to do with your SetLength calls and was just a defect somewhere else in your code that corrupted the heap?
  5. David Heffernan

    SetLength TBytes Memory Leak

    That doesn't change anything. That is just wasteful. We know that dynamic arrays work correctly. If you really want to resolve the problem you need to clearly identify it first.
  6. David Heffernan

    SetLength TBytes Memory Leak

    The code that we can see can't leak. There is likely a bug in some other code, probably your code. If you show a minimal repro we'll find it easily.
  7. David Heffernan

    Delphi IDE on AMD cpu?

    Using all your memory doesn't necessarily mean that your computer would be slower with less. It usually just means that your computer is making the disk cache as large as possible.
  8. David Heffernan

    Delphi IDE on AMD cpu?

    If running Delphi is the biggest concern that you have, as you stated above, then it looks like you are significantly over-speccing this machine.
  9. David Heffernan

    Delphi IDE on AMD cpu?

    I don't see l any good reason why the IDE stability would have anything to do with hardware. It's just bug ridden. Those AMD processors are pretty tasty. Gamers love them. But they are way over powered for Delphi. Most important thing you can do for Delphi IDE perf is have a good SSD.
  10. David Heffernan

    Build managed dll in Delphi

    I meant the startup cost for the developer to learn how to create and maintain and deploy com servers.
  11. David Heffernan

    Build managed dll in Delphi

    Whether you opt for pinvoke or a COM server depends very much on what the interface surface area looks like. I don't think anybody can give you a valid recommendation without knowledge of that. Broadly speaking, for more larger and more complex interfaces, then a COM server may be preferable. For simpler interfaces, then p/invoke may be preferable. It is more effort to setup a COM server (especially if you have to learn COM), but having done so the coding on both sides will likely be simpler. For larger and more complex interfaces the startup cost of a COM server will yield time savings to offset that. For an interface that can be represented by a small number of functions, then you will never recover that startup cost, hence why p/invoke would win. To my mind at least those are the main factors to consider in your decision.
  12. David Heffernan

    MAP2PDB - Profiling with VTune

    What other tools use pdb? I think pdb files can be used to get stack traces in Process Explorer and Process Hacker 2. Obviously there is Visual Studio and there must be many others. I wonder if anybody has tried using the pdb files generated by map2pdb with other tools such as these.
  13. David Heffernan

    I will be less active for a few weeks

    Hope you and your family recover fully @Lars Fosdal.
  14. David Heffernan

    List of usable RegEx for source code

    The fact that the term "scalable memory manager" exists shows that heap allocation is a particular issue for multi-threaded programs. That's the same point that I have been making.
  15. Selecting text in an edit control is for sure a use case where this is needed.
  16. David Heffernan

    MAP2PDB - Profiling with VTune

    Amazing work. Well done!! Thank you. Although it can't be compiled in older versions, presumably it works with programs built with older versions of Delphi? And do you have plans to support 64 bit?
  17. I don't think this is true. TEdit is the Win32 EDIT control. What are you doing with strings that need to know what you are asking about? What's your usage scenario?
  18. Why would you need to know this, unless you are rendering the text
  19. David Heffernan

    List of usable RegEx for source code

    Isn't that going to claim a global lock 31 times?
  20. David Heffernan

    Getting Label Name from Label.Caption

    Put the labels in an array, and then access them by index, or Use a single label, and include linebreaks in the caption, or Create the labels dynamically, or Probably some other solutions that I have not thought of.
  21. David Heffernan

    List of usable RegEx for source code

    It's always a good idea to minimise contention on process wide locks, which is why it is best not to call SetLength over and over when that can readily be avoided.
  22. David Heffernan

    Returning a dynamic array from DLL

    Thus can't work. You need both sides of the interface to use the same memory allocator and the same dynamic array implementation. Which ties you to specific delphi versions. That forces your plugins writers to use Delphi. Amongst other requirements.
  23. David Heffernan

    List of usable RegEx for source code

    Really? Contention on a lock has the same impact irrespective of how many items are in the collection.
  24. David Heffernan

    List of usable RegEx for source code

    Well, won't they suffer when you make lots of reallocations. That's always been my experience.
  25. David Heffernan

    List of usable RegEx for source code

    What about multithreaded programs?
×