-
Content Count
3687 -
Joined
-
Last visited
-
Days Won
185
Everything posted by David Heffernan
-
McAfee, like so many AV products, the cure is worse than the disease.
-
Isn't this a well documented file system for which there are multiple open source projects that you can use to support the documentation? More generally, I'd advise you to put more effort into asking questions. Time spent describing what your problem is, what you already know, where you are blocked, etc. is effort you should spend if you want to get something in return.
-
Doesn't sound like it's not that exceptions aren't handled. App exiting is entirely different. How about the details we asked for.
-
Or maybe floating point exceptions are masked so there is no exception. We can't see your code, or know what version you use.
-
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
That makes a lot more sense. Assumed it was common knowledge? I'm not so sure. I think there's still a big underbelly of Delphi coders that don't get this. -
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
My point is that it's behaviour that you don't ever need to know because the correct way to handle byte data is as, well, bytes and not text. So for sure there's an algorithm, but it's not one that anyone actually needs to know. -
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
This way is reliable and works -
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
I mean, you work with strings and do TEncoding.ASCII.GetBytes -
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
I don't see this as helpful to anyone. Use bytes to represent bytes. Use strings to represent text. Don't use ANSI strings. -
Blog: Byte Loss in String-Literal Concatenation
David Heffernan replied to baoquan.zuo's topic in Tips / Blogs / Tutorials / Videos
What is wrong with the world of Delphi programmers that in 2025 there are still people who can't understand the difference between text and bytes? The article you link to goes on and on about text but your data is bytes. Why not just use the correct data type? -
Now we are discussing what the cheap and rubbish version of ChatGPT says about Delphi?
-
Int, Frac functions and NaN value
David Heffernan replied to Kryvich's topic in RTL and Delphi Object Pascal
Then please provide a complete but minimal reproduction. -
Int, Frac functions and NaN value
David Heffernan replied to Kryvich's topic in RTL and Delphi Object Pascal
This is just a debugger issue, you shouldn't change your code because of this -
Why TFooBaseClass = class of TFooBase in parameter can not compile, but TClass could?
David Heffernan replied to wqmeng's topic in RTL and Delphi Object Pascal
The best piece of advice you can take from here is that you need to learn how to ask questions effectively. Because if you ask like this then nobody can help you. And it's just a waste of your time. -
No, platform tests are important and valuable. But framework dependency tests have no power here because you can read a single uses clause and know it's fine in 15s.
-
No library developer would test things like this. I mean why stop at FMX/VCL? What about database frameworks. Does it have dependencies on any of them? Does it work in a Windows service? Should there be a test for that? It's simple to see by inspecting the uses clause, so the developer just does not need to do any of that.
-
How could VCL/FMX be relevant to code at the RTL level?
-
Learning to make my own classes
David Heffernan replied to Skrim's topic in Algorithms, Data Structures and Class Design
Where does the exception get raised? -
OK so your view is not to raise exceptions at all, in which case Delphi is the wrong language for you because you can't avoid dealing with them. But this question is based on the premise that exceptions are used so responding with this viewpoint seems a little off topic.
-
Why bother with exceptions then at all? This is just back to error handling without exceptions where every single function call returns a status code or flag, like calling a Win32 function.
-
Handle them as little as possible is the rule you need. Only mutate the exception if you need to.
-
You are most welcome! 😉
-
That's not what this is about, generics being a bottleneck. The potential bottleneck is the RTL dictionary class. Which happens to be a generic type.
-
Nice thought experiment
-
And yet you did this with a other library? I'm curious. Why was it simple to integrate rapid? Does it have the same interface as rtl but is just faster?