-
Content Count
3586 -
Joined
-
Last visited
-
Days Won
176
Everything posted by David Heffernan
-
Bug in Android32 compiler
David Heffernan replied to Alexander Sviridenkov's topic in RTL and Delphi Object Pascal
You don't need to do anything with INFs, they compare exactly as you'd expect. -
Bug in Android32 compiler
David Heffernan replied to Alexander Sviridenkov's topic in RTL and Delphi Object Pascal
Not a bug. All comparison operators return false when one of the arguments is NaN. https://stackoverflow.com/questions/1565164/what-is-the-rationale-for-all-comparisons-returning-false-for-ieee754-nan-values Also, bug reports are best at Quality Portal. Although not this one, because it's not a bug. -
64bit Debugger Not Handling Memory Problems
David Heffernan replied to CB2021's topic in General Help
That's exactly the error I'd expect and the debugger will break at the line of code that accesses the uninitialized pointer. None of these tools will make much difference to this sort of debugging. You just need a slightly better understanding of how memory errors manifest and how to let the debugger tell you what's wrong. -
Well, how are you printing at the moment, if not using GDI? And GDI printing must be like 30 years old now.
-
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
Yes, this is precisely what I currently do -
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
Encrypting the map file, and then decrypting on runtime doesn't add much security. Your map file would be readily reversible by any moderately skilled hacker. If you want to keep the map file private, don't add it to your exe and decode the stack trace addresses into method names when the bug report is sent to you. -
Answer can be found in the documentation of Sleep. Sleep can only wait for multiples of system ticks. And your system appears to tick at a frequency of 15ms. Which is typical, that being the default tick frequency. There are many many discussions of this online. Here's one: https://stackoverflow.com/questions/3744032/why-are-net-timers-limited-to-15-ms-resolution
-
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
Yes, I understand the behaviour, but I just don't know the use case. I guess it just be some exception handling model that I've never used. Like Mathias I tend to raise a new exception, or re-raise. But obviously breaking language feature is not desirable. -
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
I guess that like Mathias I don't understand the use case for the code which madExcept is making fail. -
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
And what about Mathias' response in that thread? -
Is a "bare-minimum" EurekaLog possible?
David Heffernan replied to aehimself's topic in Delphi Third-Party
madExcept does support nested exceptions. -
Has anyone tried running Delphi on Windows ARM?
David Heffernan replied to Chris Pim's topic in Delphi IDE and APIs
That does sound funny. Is it true though? -
SetLength TBytes Memory Leak
David Heffernan replied to Hafedh TRIMECHE's topic in RTL and Delphi Object Pascal
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? -
SetLength TBytes Memory Leak
David Heffernan replied to Hafedh TRIMECHE's topic in RTL and Delphi Object Pascal
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. -
SetLength TBytes Memory Leak
David Heffernan replied to Hafedh TRIMECHE's topic in RTL and Delphi Object Pascal
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. -
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.
-
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.
-
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.
-
Build managed dll in Delphi
David Heffernan replied to BastiFantasti's topic in RTL and Delphi Object Pascal
I meant the startup cost for the developer to learn how to create and maintain and deploy com servers. -
Build managed dll in Delphi
David Heffernan replied to BastiFantasti's topic in RTL and Delphi Object Pascal
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. -
MAP2PDB - Profiling with VTune
David Heffernan replied to Anders Melander's topic in Delphi Third-Party
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. -
I will be less active for a few weeks
David Heffernan replied to Lars Fosdal's topic in Community Management
Hope you and your family recover fully @Lars Fosdal. -
List of usable RegEx for source code
David Heffernan replied to Mike Torrettinni's topic in Tips / Blogs / Tutorials / Videos
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. -
Unicode string - how element iterating?
David Heffernan replied to vfbb's topic in RTL and Delphi Object Pascal
Selecting text in an edit control is for sure a use case where this is needed. -
MAP2PDB - Profiling with VTune
David Heffernan replied to Anders Melander's topic in Delphi Third-Party
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?