-
Content Count
2826 -
Joined
-
Last visited
-
Days Won
152
Everything posted by Anders Melander
-
MAP2PDB - Profiling with VTune
Anders Melander replied to Anders Melander's topic in Delphi Third-Party
VTune only supports Intel hardware as it relies on certain CPU features that are only available on Intel CPUs. At least that what they claim: https://www.intel.com/content/www/us/en/developer/articles/system-requirements/vtune-profiler-system-requirements.html Maybe you can get an older version of VTune to work. For example the current version of VTune doesn't support hardware assisted profiling on my (admittedly pretty old) processor. -
https://stackexchange.com/sites
-
Why are you asking this question in a Delphi programming forum?
-
Better Translation Manager(BTM) and hint texts
Anders Melander replied to cstarling1989's topic in VCL
Yes, I guess that could be done; Hook into the application OnShowHint handler and suppress empty hints. -
Seeking Collaboration: Creating a Delphi Component for STM32 Boards
Anders Melander replied to techdesk's topic in General Help
Welcome to my /ignore list. Bye -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Anders Melander replied to mitch.terpak's topic in General Help
Whoops. I just remembered who wrote that code 🙂 -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Anders Melander replied to mitch.terpak's topic in General Help
I've heard this too, but it was many, many years ago. Well that explains the complete lack of comments. All their comments are like: // TODO : Document this, FFS! and // TODO : WFT is this shit? -
Better Translation Manager(BTM) and hint texts
Anders Melander replied to cstarling1989's topic in VCL
I'm not sure I understand you. Where would your users specify the hint texts? In BTM? If so you can configure BTM to synthesize properties in case the property "default" mechanism caused them not to be stored. This is already done for the TField.DisplayLabel property which isn't stored in the DFM if its value equals the FieldName property: So you need to specify: The control type as a regular expression. The name of the property to synthesize. Hint in your case. The synthesized value of the property. Probably just an empty string in your case. The problem here is that you probably want this done for lots of different controls so I'm not if this is feasible for you. It would of course best if you could just set the default hint texts in your base language so there's something to translate. Surely, if a control needs a hint text in one language, it needs it in all languages. -
Seeking Collaboration: Creating a Delphi Component for STM32 Boards
Anders Melander replied to techdesk's topic in General Help
Maybe start by revealing who you are, "techdesk"... -
Determining what driver FireDAC uses for MSSQL connection
Anders Melander replied to Ron Schuster's topic in Databases
Seems like there's a bug in the documentation. Unfortunate.- 5 replies
-
- firedac
- connection
-
(and 1 more)
Tagged with:
-
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
Very clear. Thank you. -
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
Turns out there's good explanation for that 😕 But at least the UI has a "Windows 7" skin. -
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
Hmm. Okay, I'll defer to your expertise then 🙂 - but I can't tell, from looking at the call stack, if the thread was created from Delphi code or from something injected into the process from the outside. I was hoping there was some obvious clue that I had missed. More hmmm. Doesn't really tell me much with regard to the source of the thread. -
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
Nice! I didn't know that one. Too bad about the XP skin though 🙂 -
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
How can you tell? -
TMethodImplementationIntercept/__dbk_fcall_wrapper called infinite and high cpu
Anders Melander replied to mvanrijnen's topic in RTL and Delphi Object Pascal
There are other ways for a thread to get started, but ignoring that and assuming it was created with CreateThread, one could simply place a breakpoint on the CreateThread import in Winapi.Windows and investigate the call stack as the threads gets crated. -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Anders Melander replied to mitch.terpak's topic in General Help
If so then it would probably be better if they implemented a proper rate-limiting mechanism. Looking at the Threading unit, it's rare to see professional code with this few comments. Is there some sort of rule within Embarcadero against commenting the code? -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Anders Melander replied to mitch.terpak's topic in General Help
Okay then. I doubt you will have any luck with getting this resolved unless you can provide additional details - which will require an effort on your part. Also, Embarcadero doesn't run this forum and probably doesn't follow what goes on here. If you want them to take notice of the problem you will have to report it to them (which isn't possible at the moment). -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Anders Melander replied to mitch.terpak's topic in General Help
I haven't analyzed the problem at all, and I have no solution for you, but a few things struck me when I read the description of your problems. The default property directive only has meaning for published properties and is only used by the VCL streaming mechanism to determine if a property needs to be written to the DFM or not. It has no practical purpose here. I can only think they included it so it's easier to see what the default value is when looking at the source. It doesn't already have a default value. The default value is the one being set in the constructor, hence: True. It isn't set to False. If you are setting to False, then it must be after the constructor has executed. You do you believe that the worker threads being increased is unnecessary? I don't know but I would guess that growing the pool beyond the limit is done to try to avoid the deadlock that could occur in some scenarios if the limit it was a hard limit (e.g. all threads blocked waiting for something that can only be produced by another thread which can't be created because the limit has been reached). Exactly where? If it's an access violation then there must be an invalid pointer. I can see 3 different candidates in that line of code: Self, FThreadPool and FThreadPool.FMonitorThreadWakeEvent. You should be able to determine which one it is with the debugger. -
Okay. Can't help you, sorry.
-
Are you asking if any version of Delphi supports Windows 7?
-
The GetIt server is back online - With the 12.0 Patch 1
Anders Melander replied to Lars Fosdal's topic in General Help
-
Surprising behavior of .ToUpper
Anders Melander replied to Hans♫'s topic in RTL and Delphi Object Pascal
As designed. Look at the source of TStringHelper.ToUpper in SysUtils. Try using ToUpperInvariant instead. -
Opening form takes 1 minute in debugger, 2.5 s without
Anders Melander replied to PiedSoftware's topic in Delphi IDE and APIs
Another thing to try: Use SysInternal's Process Explorer to inspect the call stack the threads in the process while it's running in the debugger. Might give you a clue about what it's doing. Run Delphi in a debugger (you can use another instance of Delphi to do that). Then run your application in the other Delphi and break so you can examine the call stack. -
Opening form takes 1 minute in debugger, 2.5 s without
Anders Melander replied to PiedSoftware's topic in Delphi IDE and APIs
Okay but it's installed in the IDE by default and it affects the design-time performance of forms and datamodules. Give a try; It's one of the first things I do when I install Delphi.