-
Content Count
3701 -
Joined
-
Last visited
-
Days Won
185
Everything posted by David Heffernan
-
1 error + 1 error = 3 errors? where is the extra one?
David Heffernan replied to c0d3r's topic in Delphi IDE and APIs
This is so important! We must leave no stone unturned in our battle to persuade Embarcadero to change this! -
Is it really that bad to Use boolean parameters to make your functions do two things?
David Heffernan replied to Mike Torrettinni's topic in General Help
It's as if the thread above never happened!!!! -
atomic setting of a double variable
David Heffernan replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
Unless you have a performance bottleneck, this is the shrewd approach. -
atomic setting of a double variable
David Heffernan replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
assembly - How do I atomically move a 64bit value in x86 ASM? - Stack Overflow is also relevant -
I'd read the documentation, which is here (E2217 Published field '%s' not a class or interface type (Delphi) - RAD Studio (embarcadero.com)) and which tells you what the problem is. There's a nuance here in that the section of the class declaration that does not specify visibility has published visibility in your environment. That's not always the case, I've forgotten what it depends upon, I think that there's a conditional. Anyway, the solution for you is to add the private keyword that it looks like you forgot, or deleted by mistake. Check in your revision control system. OK, and here's what I had forgotten. Again, I looked it up in the docs: Classes and Objects (Delphi) - RAD Studio (embarcadero.com) So you are clearly compiling the with {$M+}
- 4 replies
-
- delphi
- compiler error
-
(and 1 more)
Tagged with:
-
atomic setting of a double variable
David Heffernan replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
What are you trying to do here? Are you trying to make an atomic assignment but ignore any race conditions? Where is the corresponding code that reads in an atomic fashion? No point having atomic writes if you don't pair them with atomic reads. You'll just suffer tearing on reading. For 64 bit code, reads and writes of aligned 64 bit values are already atomic. So plain Pascal assignment operators will do what you need. So long as your values are aligned. Can you be sure that they will be? Are local variables of type double aligned? It's quite an unusual thing to be doing, I know I've never had a need to do this with doubles. What is the motivation out of interest? -
Add support for High-DPI gdiScaling
David Heffernan replied to Tom Mueller's topic in Delphi IDE and APIs
Multiple Document Interface - Win32 apps | Microsoft Docs In practice we can see that MS have not updated MDI for a very long time. The window chrome for MDI child windows does not match the latest style. I mean, this is MS, it's not going away any time soon. -
Add support for High-DPI gdiScaling
David Heffernan replied to Tom Mueller's topic in Delphi IDE and APIs
If you want to submit a feature request to Embarcadero, do so here: https://quality.embarcadero.com/ -
System.pas floating point error with Delphi10.3.3 RIO
David Heffernan replied to jptf59's topic in Delphi IDE and APIs
Floating point values cannot be empty -
A web search for this flag would tell you what you need to know. Always worth remembering that web search exists. I find it terribly useful.
-
MadExcept StartLeakChecking is causing random access violations
David Heffernan replied to aehimself's topic in Delphi Third-Party
The leak detection tool is known to work well. Please post on the madExcept forum. Applying Occam's Razor, you should entertain the possibility that there are defects in your program that this tool is notifying you of. -
A minimal reproduction would make it simple to resolve the issue.
-
Bits not bytes. And not the most significant bits. The code runs on little endian machines.
-
System.pas floating point error with Delphi10.3.3 RIO
David Heffernan replied to jptf59's topic in Delphi IDE and APIs
This should be simple to resolve. Create a minimal program, including any input, so we can see what combination of rounding mode and input arguments lead to this exception. -
It's copying three bytes of the ANSI encoded text into three bytes of the integer. The fourth byte of the integer is indeterminate, and could be anything. Just look up the ASCII table for those three letters, to see the ordinal values being assigned. It's hard to know why this would be done without seeing what happens next, e.g. to the integer variable.
-
What happens when you create a new project? Is it a problem with a new project?
-
You shouldn't be compiling that unit. Should find the dcu shipped with the product.
-
What is the error? Can you give a minimal reproduction?
-
Is possible to examine the library-> search path when IDE not start?
David Heffernan replied to alogrep's topic in Delphi IDE and APIs
What use is knowing that if your IDE won't start? Isn't the IDE not starting something of a bigger problem? -
Delphi 64bit compiler RTL speedup
David Heffernan replied to RDP1974's topic in RTL and Delphi Object Pascal
Last time I checked that project was dormant. Once upon a time I used Andre's map2dbg to make dbg files that could be used by some tools, but I never had any success with that for 64 bit executables. -
Delphi 64bit compiler RTL speedup
David Heffernan replied to RDP1974's topic in RTL and Delphi Object Pascal
OMG, if somebody could make a tool to convert detailed map files into PDB files that would be incredibly useful. -
Delphi 64bit compiler RTL speedup
David Heffernan replied to RDP1974's topic in RTL and Delphi Object Pascal
Stefan is talking about licensing, not about whether tools exist to build the library. He's talking about distributing not building. -
TimSort for Delphi without Generics
David Heffernan replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
This is perfectly reasonable. Sometimes. User should be able to choose how to compare. UPDATE: Apparently I misunderstood. Please ignore. -
Addendum to Martin Fowler quote
David Heffernan replied to Stefan Glienke's topic in Tips / Blogs / Tutorials / Videos
@emailx45 I have literally no idea what you are talking about. Sorry. -
I know. I'm linking it here because it was cross-posted. If you do cross-post it's always worth mentioning that, and providing links, so that somebody doesn't spend time solving your problem, when it has already been solved in a different place.