-
Content Count
3586 -
Joined
-
Last visited
-
Days Won
176
Everything posted by David Heffernan
-
TBitmap32 to jpg (graphics32)
David Heffernan replied to Attila Kovacs's topic in Delphi Third-Party
I'm not aware that the VCL jpeg unit leaks. How are you measuring that? -
I still don't really understand why people use packages other than for IDE plugins and components.
-
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
David Heffernan replied to Al T's topic in Algorithms, Data Structures and Class Design
You can use an if statement -
Is it possible to make changes to the source code for reserved words?
David Heffernan replied to Al T's topic in Delphi IDE and APIs
Use an if statement -
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
David Heffernan replied to Al T's topic in Algorithms, Data Structures and Class Design
Abs isn't going to help at all. The problem is that the compiler is seeing these values as 32 bit integers. Which is why I suggested the Int64 cast. But Brian appears to have the answer by the excellent method of reading the documentation. I should have done that! -
TBitmap32 to jpg (graphics32)
David Heffernan replied to Attila Kovacs's topic in Delphi Third-Party
I'm confused. The VCL ships with a JPEG encoder. -
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
David Heffernan replied to Al T's topic in Algorithms, Data Structures and Class Design
Compiler sees these as 32 bit Integer. Does it help to write Int64(10000000000) .. Int64(99999999999) Also your case statement doesn't handle negative input values. -
Looking for thread-safe repeatable random sequence generator
David Heffernan replied to RaelB's topic in Delphi Third-Party
It is utterly trivial to make such a thing using the exact same code as found in Random. You make a record that contains a seed and you add a method that uses that seed to generate the next sample, and then update the seed. If you have specific requirements for the properties of the PRNG then you may find the LCG used by Random doesn't meet them. In which case you'd need to decide what your requirements are. -
Conditional compiling - Delphi has a bug
David Heffernan replied to KodeZwerg's topic in RTL and Delphi Object Pascal
You can see exactly this in the original post above. That's not the question being asked though.- 5 replies
-
- delphi
- conditional
-
(and 1 more)
Tagged with:
-
IfThen as a function sucks big time. Why can't we have a conditional operator?
-
Ask for comments to improve this code
David Heffernan replied to Berocoder's topic in Algorithms, Data Structures and Class Design
I'm not convinced by this. But then I was primarily reacting to what you wrote. -
delphi LabView DLL creates weird double array
David Heffernan replied to Snieres's topic in Algorithms, Data Structures and Class Design
Looking at the update are you sure the function takes pointer to pointer to pointer to struct? -
delphi LabView DLL creates weird double array
David Heffernan replied to Snieres's topic in Algorithms, Data Structures and Class Design
We don't know what PDoubleArray1 is because the definition isn't here. However, you pass @Testdoublearray which is a pointer to pointer to record. But the native code expects pointer to struct. Clearly a mismatch. Given the various edits that have gone on between the real code and the code you posted, this could be wrong. -
Ask for comments to improve this code
David Heffernan replied to Berocoder's topic in Algorithms, Data Structures and Class Design
True, but so what? If you want slim executables you wouldn't be using Delphi at all. -
Modal dialog closes before user input
David Heffernan replied to John Savoury's topic in RTL and Delphi Object Pascal
Reason is exactly as I described in my first comment. Down and up come in pairs. If one part of your program responds to down and another to up then you can have a down up pair invoking two distinct actions. Down invokes form show modal, up invokes closing that form. More prosaicly, if there is a common uniform way to do something in the system, your default should always be to follow that common uniform convention. -
Modal dialog closes before user input
David Heffernan replied to John Savoury's topic in RTL and Delphi Object Pascal
So why continue doing things in key up? -
Modal dialog closes before user input
David Heffernan replied to John Savoury's topic in RTL and Delphi Object Pascal
This sounds like you are papering over the problem. -
Modal dialog closes before user input
David Heffernan replied to John Savoury's topic in RTL and Delphi Object Pascal
Why are you doing anything in response to key up? Try using some respectable programs and see which of them perform actions on key up. Once you have done that, remove TDropDownDialog.ListBox1KeyUp and see how things behave. -
Ask for comments to improve this code
David Heffernan replied to Berocoder's topic in Algorithms, Data Structures and Class Design
It sounded like you might be accessing an object after it has been destroyed which is obviously incorrect. -
Modal dialog closes before user input
David Heffernan replied to John Savoury's topic in RTL and Delphi Object Pascal
It's presumably the handling of KeyUp that sets the modal result. If the modal dialog is shown by mouse action, then happens on mouse up. But if shown by keyboard action, it is shown on key down. Then the matching key up is handled by the modal form which immediately closes. -
Ask for comments to improve this code
David Heffernan replied to Berocoder's topic in Algorithms, Data Structures and Class Design
Pascal Analyser is wrong. Seems pointless to test with is TBoldObject and then cast with as. Once is tells you the cast is valid then go ahead and use an unsafe cast. Seems dubious to cast one object to be a class from an unrelated hierarchy. Don't know how that could be valid. Also, what is BoldObjectIsDeleted all about? Don't tell me this flag is set to true when the instance is destroyed. -
Function with 2 return values ?
David Heffernan replied to Henry Olive's topic in RTL and Delphi Object Pascal
It goes from bad to worse!! -
Function with 2 return values ?
David Heffernan replied to Henry Olive's topic in RTL and Delphi Object Pascal
We don't need any context to know that a fixed length array shouldn't be named a tuple. -
Function with 2 return values ?
David Heffernan replied to Henry Olive's topic in RTL and Delphi Object Pascal
But it's a tuple too. My question was really for Stefan though. -
The best way to handle undo and redo.
David Heffernan replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
Very rare to find a scenario where this works well. The serialised state can be huge. And the asker here has a database to work with. You are going to serialise that in its entirety?