Jump to content

PeterPanettone

Members
  • Content Count

    1346
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PeterPanettone

  1. PeterPanettone

    Uses Clause Manager in Tree in r2809

    If the user has activated the map file usage for UCM (and activated map file creation in the project options) then the list of the project units in UCM contains all units the project uses EXPLICITLY and IMPLICITLY: This list can be quite USEFUL. So please add a button in the Project tab to copy/save this list. This would be very useful!
  2. PeterPanettone

    Uses Clause Manager in Tree in r2809

    BTW, in the UCM configuration options there should be a warning when the user activates the "Read project units from map file rather than .dpr" checkbox (otherwise he would not see any units from the map file): The warning message should say: "Please make sure to activate the Map file creation in the Project options".
  3. PeterPanettone

    Uses Clause Manager in Tree in r2809

    The GExperts UCM has the advantage to open the unit with the selected identifier in the IDE, so the user can inspect it: Unfortunately, RFindUnit does not have this feature. So, in my Christmas wishlist I have inserted a GExperts UCM which has all the other features of RFindUnit.
  4. PeterPanettone

    Uses Clause Manager in Tree in r2809

    You can process the DCU files whenever you want, MANUALLY: It says: "This command will list all the DCUs files that you don't have access to .PAS and process it to make it available for search." PS: And it would be easy to make it process only those .DCU files where there is no .PAS file with the same name.
  5. PeterPanettone

    Uses Clause Manager in Tree in r2809

    There is absolutely NO logic in searching only for identifiers STARTING with the search term. Searching for identifiers CONTAINING the search term is the sensible way to go. Or you could add an option radio choice "Starts/Contains the search term".
  6. PeterPanettone

    Uses Clause Manager in Tree in r2809

    RFindUnit finds madShell.newShortCut - so UCM should also find it. Why it doesn't?
  7. PeterPanettone

    Uses Clause Manager in Tree in r2809

    Here are the settings: As you can see, the "Parse all units" option is checked. PS: I have also cleared and rebuilt the UCM cache. Still no results for "newshortcut" yet. (However, a search for "newcolor" got 6 results).
  8. PeterPanettone

    Issues in Unit Dependency Analyzer

    1. The Unit Dependency Analyzer lists both Classes and System.Classes: Isn't there an option to suppress these multiple unit names which differ only by namespace? (The preference should be given to fully qualified namespace). 2. As you can see from the above screenshots, both are indicated as "no source found": This is strange, as the source file is located here and should be found: c:\program files (x86)\embarcadero\studio\18.0\source\rtl\common\System.Classes.pas MMX13 in Delphi 10.1 Berlin
  9. PeterPanettone

    Issues in Unit Dependency Analyzer

    BTW, in the Dependency Analyzer Settings, in the Compiler version dropdown menu there are only Win32 compiler versions listed: Why are there no Win64 compiler versions listed, as my project is for the Win64 platform?
  10. Does anybody know an IDE addin that can create a project-wide uses-clause report, i.e. a report containing all uses-clause unit-names from all units in the project (without doubles)? For example: Unit1 contains this uses clause: uses Winapi.Messages, System.Variants, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvEdit, AdvEdBtn; Unit2 contains this uses clause: uses Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvGlowButton, Vcl.ExtCtrls; The report would then contain: Winapi.Messages, System.Variants, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvEdit, AdvEdBtn, Vcl.ExtCtrls, AdvGlowButton;
  11. PeterPanettone

    IDE addin for project-wide uses clause report?

    Thanks to all!
  12. Is there an IDE addin to automatically change for example this: var I: Integer; into this: var I: System.Integer; and this: uses Messages, Variants, Classes, Controls, Forms, Dialogs, StdCtrls; into this: uses Winapi.Messages, System.Variants, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls
  13. Thanks. You mean this one? May I add a suggestion: For USER FEEDBACK, change the color of the unit names in the UCM list to another color after the processing. Would be useful. BTW: Where does UCM get the namespace prefixes? ...and it would be nice if it could do for the WHOLE PROJECT, as an option.
  14. Is there a way to add a system-menu item to all applications? (Not just only to my own application).
  15. PeterPanettone

    Add a system-menu item to all applications?

    On your GitHub web page. I didn't change anything, just compiled your demo.
  16. PeterPanettone

    Add a system-menu item to all applications?

    I have downloaded it and tried the GetMsgHook demo (Delphi 10.3.1, Windows 7 x64): The 32-bit worked well straightaway, without signing the DLL etc. The 64-bit version did not work the first time, so I followed the recommendations from the GitHub page: • uiAccess="true" • Code MUST be digitally signed • Your application MUST reside in a trusted location (e.g.; Program Files) As the 64-bit version still did not work, I tried to trace all methods in HooksMadeEasy.GetMsg.pas with CodeSite. So I saw that the procedures TGetMsgHook.Hookup and TGetMsgHook.Stop worked well, but then the tracing in the TGetMsgHook.GetMsgProc loop seemed to get too much strain on my system and messed it up so I had to reboot the computer. Strangely, after rebooting and recompiling the 64-bit DLL without the GetMsgProc tracing, the 64-bit version suddenly DID WORK: Clicking a system menu item in a 64-bit program showed up in the TestGetMsgHooks.exe feedback list. 1. So why did it work with 64-bit programs only after rebooting? 2. To make it work with BOTH 32-bit programs and 64-bit programs supposedly I would have to start BOTH a 32-bit exe with a 32-bit DLL AND a 64-bit exe with a 64-bit DLL? Or is there a way to activate both the 32-bit hook AND the 64-bit hook with ONE SINGLE exe?
  17. PeterPanettone

    Add a system-menu item to all applications?

    Thank you very much!! I am sorry for my late answer, I was away for a personal issue. PS: How can I show you my gratitude? May I send you a small donation?
  18. PeterPanettone

    Add a system-menu item to all applications?

    ... that would be GREAT!
  19. PeterPanettone

    Add a system-menu item to all applications?

    Are there any grown-up people here?
  20. PeterPanettone

    Add a system-menu item to all applications?

    That's what I am doing. But it does not work with 64-bit DLLs. See my attached code example above.
  21. PeterPanettone

    Add a system-menu item to all applications?

    But it works well with 32-bit programs. How can it make to work with BOTH 64-bit programs and 32-bit programs?
  22. PeterPanettone

    Add a system-menu item to all applications?

    The package he created is here: http://www.vclcomponents.com/Delphi/System_Components/Hooks_Made_Easy-info.html
  23. PeterPanettone

    Add a system-menu item to all applications?

    It seems that the author of this code is Fred Schetterer. (Los Angeles?). But his website http://www.fredsterware.com/ does not exist anymore, so I don't know how to reach him. Does anybody know him?
  24. PeterPanettone

    Add a system-menu item to all applications?

    When I use this call instead of the previous call in \fwGetMsgProc\MapFile.pas then there is no more error in the DLL code in the function Hookup in the line GetMsgProcRec^.Hwnd := Hwnd However, I also do not get a callback when clicking on any system menu item in any application.
  25. PeterPanettone

    Add a system-menu item to all applications?

    Unfortunately, when I try to start a debug session for any Win64 project in my Delphi 10.3.1, I get the following error (debugging Win32 projects does work): Why is there an error in a CPP file if I try to start a debug session for a DELPHI project? Then I click any button, then this error message pops up: So, unfortunately, I cannot debug the Win64 projects.
×