Jump to content

Attila Kovacs

Members
  • Content Count

    1977
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Attila Kovacs

  1. Attila Kovacs

    Profiler for Delphi

    Ah I see, well, I tried to convert some pdb's to yaml but after it failed on every pdb's I've found I got upset and forensic wiped it from my ssd 😉 I've no idea how good this yaml converter is but after that I've doubts.
  2. Attila Kovacs

    Profiler for Delphi

    0001:00401000 0190D0A0H .text CODE why is it .text? anyway 0001:0151D808 unit.frmxyz.BtnNewClick 0151D808 + 00401000 is the actual address (400000 is the image base and 1000 is the section alignment)
  3. Attila Kovacs

    Profiler for Delphi

    to the base address I can check it. Which section should I look in the map?
  4. Attila Kovacs

    Profiler for Delphi

    does pdb2yaml gives the same yaml back?
  5. Attila Kovacs

    Profiler for Delphi

    Yeah the GUID match can be done on the PDB, at least I've seen tools for do that yeah, when the pdb works yes, but untested?
  6. Attila Kovacs

    Profiler for Delphi

    @Anders Melander Maybe this could inject it, just to test how the pdb performs http://www.pe-explorer.com/peexplorer-tour-section-editor.htm
  7. Attila Kovacs

    FireDac Batchmove

    I'd still use jobs for creating compressed backups and copy them to another location. I don't know how this batchmove works but I'm sure it won't lock anything nor will it transfer transaction logs -if any-, so high chances that the data won't stay consistent.
  8. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Is it tested now? Btw. interestingly WM_NCDESTROY's are still coming for all of the windows. The chained list theory fails? also as switching the freeing order of the scrollbars (vertical,horizontal to horizontal,vertical) free's the horizontal fine, then vertical becomes the next in the z-order and freeing it breaks the message chain again. If it has actually something to do with the Z-Order. Edit: Just to make sure, I've compiled the testapp with D2007 and D5, and run it even on XP, it's always the same.
  9. Attila Kovacs

    TTreeNode leak when VCL styles are active

    I can't test it as ForceQueue is not present in Berlin, but in theory looks good.
  10. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Destroying a window from a different thread? Does it work?
  11. Attila Kovacs

    TTreeNode leak when VCL styles are active

    this is really below every standard but what about if not (csDestroying in Application.ComponentState) then it works fine and I can't see any just as simple solution
  12. Attila Kovacs

    TTreeNode leak when VCL styles are active

    I'm currently here
  13. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Buhh. Well, this is a new problem. Still, there is no legitimate reason to call consecutive DestroyWindows.
  14. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Aha! Now I'm getting closer. Have to fire up a new form to check.
  15. Attila Kovacs

    TTreeNode leak when VCL styles are active

    in class destructor TStyleEngine.Destroy; FreeAndNil(FControls); will free all remaining StyleHooks. Who cares by who or when will it be free'd on closing the application?
  16. Attila Kovacs

    TTreeNode leak when VCL styles are active

    The above non-quality? "fix" resolves the problem calling nested DestroyWindow and thus stopping WM_DESTROY propagation. The application does not yield any new leaks so I don't understand your point, what am I missing?
  17. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Ok, i see what you are saying, the remove should be evt. called, free() not. But the dictionary will be free'd even if it's not empty. So, I guess doesn't matter. Edit: no, calling remove results in other leaks. It was just fine that way.
  18. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Exactly this is the problem. That is what I wanted to avoid. Those are parented to the parent of the ListView and will be destroyed by the window manager.
  19. Attila Kovacs

    TTreeNode leak when VCL styles are active

    stylehooks are no windowed controls like the scrollbar
  20. Attila Kovacs

    TTreeNode leak when VCL styles are active

    just copy the vcl sources to your project dir and alter them it works evt. could be further higher in the callstack
  21. Attila Kovacs

    TTreeNode leak when VCL styles are active

    if not (csDestroying in Control.ComponentState) then begin FControls.Items[Control].Free; FControls.Remove(Control); end; in class procedure TStyleEngine.DoRemoveControl(Control: TWinControl); cut nested calls to DestroyWindow
  22. Attila Kovacs

    TTreeNode leak when VCL styles are active

    Looks like on RecreateWnd it's necessary to free the two themed scrollbars, but at the moment the window manager kicks in with destroying all controls, it becomes a problem. I've tested on W7, it's the same. I like the workaround to eliminate the message broadcasting like @pyscripter suggested as this seems to have more advantage. Otherwise, creating a transparent container between TListView and its Parent could eventually solve the issue. I'd say give it as-is to Emba, let's see how they think about it, maybe they have more comments in the VCL.
  23. Attila Kovacs

    TTreeNode leak when VCL styles are active

    @balabuev Nice work! I replaced the buttons with TListViews with some Nodes and the leak appears. Do we know where the dog is buried or is it time to ask Mr. Chen? Looks like it's only happening if we are destroying the next window in the order, then it's stops all the propagation of WM_DESTROY's, like if there were an exception in the window manager. If we skip one control it's fine again (4 buttons, freeing Nr. 3 on Tag1, not Nr.2).
  24. Attila Kovacs

    TTreeNode leak when VCL styles are active

    @emailx45 does not work with code or am I dumb
×