-
Content Count
3710 -
Joined
-
Last visited
-
Days Won
185
Posts posted by David Heffernan
-
-
What you are trying to do is possible. I guess there is just a mistake somewhere, or some extra detail that we don't know of yet.
-
1
-
-
graphics32 is generally faster than gdi I believe
-
1
-
-
9 minutes ago, Remy Lebeau said:Otherwise, don't use TBitmap in a thread at all, use straight Win32 API calls instead.
Or a pure Pascal library like graphics32
-
1
-
-
I would have imagined that you'd want some coordination, not everybody having their own copies, all different. Also, git in particular, and dvcs in general are very complex. You sure you want to throw that at your users. But hey, what do I know about your needs. Nothing.
If you want to use git then go ahead. For instance with libgit2.
-
1
-
-
Doesn't sound very much like dvcs is what you need. Sounds more like a central database is what you need.
-
2
-
-
Probably you'll need to show an complete program, obviously cut down to minimal form, if you want somebody to dig deeper.
-
Why would you be drawn to Embarcadero C++ tools? If you are going to consider C++ then you have a much wider range of options.
-
3
-
-
8 minutes ago, Remy Lebeau said:But, to be honest, in what use-case is it ever useful to call a virtual class method inside of a static class method in practice?
Lars understands that, I think, and wonders why the compiler doesn't take the same view and issue a warning.
-
3
-
-
1 hour ago, Kas Ob. said:Debugger after all should not be altering the debugged application allocated memory without explicit user interaction.
That's not right. In order to evaluate expressions the debugger needs to execute code in the target process. Which may lead to allocations.
It's a defect that the IDE / debugger leak such objects, but they can't do their job if they can't execute code and perform allocations in the target process.
-
2
-
-
This is a known bug in the IDE / debugger. Nothing you can do about it.
Evaluating certain expressions, often involving strings, seems to be what triggers it.
-
1 hour ago, Clément said:Unfortunately I made a very stupid mistake. During my tests I generated over 1.000.000 posts and of course I was NOT checking the post result. Messages where stacking faster than they would be processed.
This is why you should make a repro. Worth bearing that in mind for the future.
-
Encryption is agnostic of framework. I don't see how you could have a VCL only encryption library. You don't need design time components.
-
1
-
1
-
-
Component vendor is wrong.
-
Timers are for GUIs. MsgWaitForMultipleObjects is one sound way to implement a message pump on a thread that needs to do tasks periodically.
-
1
-
-
35 minutes ago, Clément said:If I don't use timers I will have to depend on messages to flush. So I might end up with a lot of "unflushed" log. I would depend on the client to call a "flush logs", that would be wrong.
No you won't. There are plenty of timer free solutions I would expect. Very hard to give advice without context. And very hard to explain why messages are missing with only a partial extract of code.
Anyway, good luck.
-
A complete repro is probably necessary here. A timer seems needless. Just keep track of the time when you last flushed and do it again once a second has elapsed.
-
You reap what you sow. Don't create multiple variables with the same name.
-
1
-
-
5 hours ago, aehimself said:Also please note that in Windows several environmental variables requires a logoff-logon for the changes to take affect (like %PATH%).
Don't think that's true. That's the point of the broadcast message. The shell updates its environment and uses that when creating new processes.
-
Did you do any debugging? Did you check that the registry was modified as intended?
Reference back to https://docs.microsoft.com/en-gb/windows/win32/procthread/environment-variables
-
You code runs the risk of hanging when it broadcasts. But the basic concept is correct albeit poorly implemented. Have you done any debugging?
-
On 9/9/2019 at 8:16 PM, Clément said:This might shed some light:
The answer in that link appears factually misleading at best, probably downright incorrect.
-
Provide a minimal complete reproduction.
-
3 hours ago, Schokohase said:And my point is, you do not need to set the cursor if you have synchron long running code (because the OS will do for you) - so it only make sense to set the cursor when having code running async.
This approach is what you take when you hate your users. They can't tell whether or not your program is stuck in a non terminating loop, and the OS asks if you want to terminate the program. So only do this if you want to make your users suffer.
-
1
-
2
-
-
Don't change libraries and hope. The library you use is known to work well. There's a defect in your code. Work out what it is. Trial and error never works out.
Provide a minimal yet complete program ideally a console app. Then you can hope for some help.
-
1
-
Modern C++ and Delphi
in General Help
Posted · Edited by David Heffernan
C++ already has using