Jump to content

dummzeuch

Members
  • Content Count

    3019
  • Joined

  • Last visited

  • Days Won

    108

Posts posted by dummzeuch


  1. 1 hour ago, edwinyzh said:

    I'd like to bring this to your attention - I created a ticket about suppressing all error dialog boxes during the GREP search, over a week ago.

    Yes, I noticed that one. Thanks.

     

    1 hour ago, edwinyzh said:

    On the other hand, I'm wondering if is it possible for me to make svn commits to the repository for fixing small issues like this 🙂

    I haven't got the rights to grant svn write access on the GExperts project on source forge.

    But if you send me a patch I will commit the changes.


  2. There would be quite a lot of useful things that could be done if there was an up to date parser for Delphi code. Unfortunately there apparently isn't.

    I tried to update Martin Waldenburg's parser, which is used in GExperts, but it's just not easy to do. The Castalia parser, which is based on MW's parser unfortunately is incompatible in too many places to use as a replacement without too many changes. But by the look of it, it supports more recent language constructs. It's still not complete though, and definitely doesn't support the latest additions.

    • Like 1

  3. 3 hours ago, PeterBelow said:

    Why are you rebuilding 3rd-party dcus as part of your build process? IMO only the (prebuild) DCUs should be on the IDE library path, the source code folders should only be on the IDE search path and not on the project's search path.

    I always build 3rd party sources with the project. That's the only way I can be sure that the executable is based on the code it is supposed to be. And since compile times in Delphi are really short, it doesn't have any drawbacks in my opinion.

    • Like 1

  4. 1 minute ago, Jacek Laskowski said:

    I knew that you're sticking to it ... 🙂
    I try to eliminate warnings from my own code, but I have warnings from external libraries, eg Synapse, DCPCrypt and others.

    Kick those lazy bastards into the ass! 😉

     

    As a workaround you could add a {$warnings off} and {$hints off} into theses 3rd party units.

    • Like 3

  5. What do you mean by "log filled with various warnings"? Do you really have more than a hand full?

    That's the first thing I kick a coworker's ass for, if it gehts checked in to SCM.

     

    OK, a possible solution would be to configure these hints / warnings you are really interested into be errors in the project configuration -> Building -> Delphi Compiler -> Hints and Warnings.

     

    edit: Apparently that's not possible for hints but only for warnings.

    • Like 2

  6. 51 minutes ago, Stefan Glienke said:

    Please explain - what does the map file have to to with finding out units that are included in the project via search path?

    The map file lists all units that have been linked into the executable. So it is the easiest way to get a list of these units.

     

    Grep then uses the same algorithm as the Uses Clause Manager's identifier tab to find the source code for these units. That algorithm uses the project (as the first step) and all configured search paths (including the browsing path as the last step), so it should find the same source code as the compiler / linker does.


  7. Not a bug.

     

    ToolsApi.pas is not in the search path (only ToolsApi.dcu), so it isn't parsed. You can see that in the Unit Uses list of GX_About: There is no Location info for that unit because it cannot be found.

     

    OK, that means that the list of indirect depencencies is not complete, because it does not contain units that are only in the uses list of units that are not in  the search path.

     

    Hm, not sure I like that.


  8. 1 hour ago, PeterPanettone said:

    Thomas, I've built #2590. But I don't see where I can display and/or export a merged list of all used units in the whole project. The list created by "Export Used Units..." is the same as before.

    That list already contained all used units, including those indirectly used.

     

    And the list for the project (root node in the tree) contains all units of the project.


  9. 8 hours ago, dummzeuch said:

    The only shortcoming is that it does not list the indirect dependencies for the whole project, into which I am looking right now. If it's possible to be done easily, I will add that.

    Done. I even improved performance of the indirect list by a factor of about 5 to 10 (I didn't do any exact timing on the original code, so I don't know. But it now takes less than 2 seconds for the GExperts project where before it took more than 10.)

     

    Note to self: If the performance of some code is bad, check whether it stores and accesses data in the UI all the time. Remove this access and watch the performance skyrocket.

     

    Another note to self: TListView is one of the worst performing controls out there. If you want to improve performance further, use a TStringList or maybe even better a virtual string list.

    • Like 1

  10. If it's not available with full source code, I'm not going to buy it. I have been burned twice with buying components / libraries in binary form only where the company went bust a few years later.

     

    Apart from that I like the idea of using SVG for graphics a lot. It would solve several problems I am currently facing.

    • Like 2

  11. 12 minutes ago, PeterPanettone said:

     

    There is another one which seems to be the most obvious: When migrating a project (maybe a legacy project or a project received from another developer) it is important to have a complete overview of which units are used in the whole project.

    For which again you would want to get a complete list, including those units indirectly used.


  12. 14 hours ago, PeterPanettone said:

    I have this line in the map file:

     

    0001:0033B2E8 000073E8 C=CODE     S=.text    G=(none)   M=Vcl.Buttons ACBP=A9

     

    But the unit Vcl.Buttons is not EXPLICITLY inside a uses clause inside my project. So I suppose the unit Vcl.Buttons is IMPLICITLY inside a used unit.

     

    How to differentiate between explicit and implicit units?

    You can't. Why would you want to?

    I can only think of a few uses for such a list:

    • Check if a unit is added that should not (e.g. it is being phased out / deprecated)
    • Get a list of 3rd party components to e.g. add to an about box (But that is better done at runtime.)
    • Search all used units for some string (What GExperts Grep now does and the GExperts Open File has been doing for a while)

    All of these would want to include units that were indirectly added to a project.

     

    (I know, I am a bit late to the conversation)


  13. 2 hours ago, mael said:

    In the latest release (but also in older releases), some action seems to take over the shortcut Ctrl+Alt+C which is usually reserved for showing the CPU window in debug mode.

     

    I only found the editor expert "Copy Raw String" with this shortcut, and disabled it, but the shortcut is still "caught" by some GExperts code. If I disable GExperts, everything is fine again.

    Please file a bug report on SourceForge.


  14. 7 minutes ago, Alexander Elagin said:

    I wish all resources spent on this theming nightmare since XE2 (? don't remember when it all began) were allocated to real bug fixing.

    And don't forget the resources spent on fixing that theming stuff, not just in the IDE but also in the IDE extensions. I spent several days just trying to fix things in GExperts that were broken due to

    1. introducing the theming
    2. bugs in theming
    3. bugfixes in theming

    And I am still not done.

    And GExperts doesn't even support theming itself, I don't want to consider the time it would take to actually support it (and I am definitely not going to spend that time).

     

    • Like 1
×