Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/17/22 in all areas

  1. Dave Nottage

    Application terminate on Android/iOS

    For Android, this is the only way I've found that will quit completely and remove the task from the "recent items" list: https://github.com/DelphiWorlds/Kastri/blob/64a5600e0845862f3e3991cd1708dee82a65ff45/Core/DW.Android.Helpers.pas#L561 For iOS, it's bound to have your app rejected if it is on the App Store, otherwise: https://developer.apple.com/library/archive/qa/qa1561/_index.html
  2. Version V15.0.37 of MMX Code Explorer introduces Structured Difference Viewer (former available as a separate product). It is registered as an External Difference Viewer in the IDE and can be used as an alternative way to compare source files.
  3. Anders Melander

    Profiler for Delphi

    I'm pretty sure it was the other way round. AFAIK it's still written in Delphi.
  4. Tom F

    Profiler for Delphi

    For profilers, we use NexsDb's: https://www.nexusdb.com/support/index.php?q=node/27156. It's a wonderful product and has helped us a lot. We suggest you avoid SmartBear AQTime. It felt it was designed for C/C++ and that Delphi was added as an afterthought.
  5. I have just finished making the stand alone GExperts Grep to really be stand alone, that is: It no longer needs the GExperts DLL but contains all the functionality in one executable. It has also been compiled with Delphi 11 Alexandria so it should be per monitor DPI aware. Another feature is the ability to integrate itself into the Windows Explorer popup menu. ... read on in the blog post
  6. dummzeuch

    TPopupMenu with group headers

    And here is a doAdvancedDrawItem method that works with older Delphi versions (tested with Delphi 2007) procedure THeaderMenuItem.DoAdvancedDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; State: TOwnerDrawState); begin {$IF declared(TStyleManager)} ACanvas.Brush.Color := TStyleManager.ActiveStyle.GetStyleColor(scPanelDisabled); ACanvas.Font.Color := TStyleManager.ActiveStyle.GetStyleFontColor(sfWindowTextNormal); {$ELSE} ACanvas.Brush.Color := clDkGray; ACanvas.Font.Color := clWhite; {$IFEND} ACanvas.Font.Style := [fsBold]; ACanvas.FillRect(ARect); ACanvas.TextRect(ARect, ARect.Left + 3, ARect.Top + 3, StripHotkey(Caption)); end; To get it to compile with Delphi 2007, just remove the unit namespaces from the uses list. Adjust the colors to your liking.
  7. Stefan Glienke

    Profiler for Delphi

    It does not - it simply does not contain that version in some Combobox. SamplingProfiler (both 32 and 64) works with the latest Delphi versions just fine. For VTune - I am so happy they finally added Flamegraph to the Hotspot profiler.
  8. Fr0sT.Brutal

    Delphi profiler

    Hmm, I probably will act as Cap'n Obvious but why not check timings of parse/read & list fill code separately (with primitive gettickcount)? That's what I'm doing first before unpacking serious tools.
  9. FPiette

    Delphi profiler

    GPX file have very simple structure but there are tens of thousands of nodes (Example of GPX file). Before changing my code, I would profile it to know if the slowness comes from the XML parser our from my own code which is fully class oriented with generic TObjectList. I suspect this is much slower in my case compared to records and pre-allocated dynamic arrays.
  10. Stefan Glienke

    MAP2PDB - Profiling with VTune

    Profiling map2pdb with VTune using a pdb built with the map file from map2pdb 🤯 I guess that is fixable.
  11. Anders Melander

    Profiler for Delphi

    I dunno. Don't you find VTune's poor performance to be a problem? Personally I either need to be really desperate before I resort to VTune or I must have a very good idea about what I'm looking for (like, I need *this* exact function to be faster but I don't exactly know how to make it so). I have had successes with VTune in cases where I needed to optimize some SSE code but that's about it. On the project I'm working on right now (pure Pascal) it takes VTune over an hour to load the pdb file and so far it hasn't told me anything I didn't already know (from pausing in the debugger).
×