Jump to content
Uwe Raabe

MMX for Delphi 10.3 Rio

Recommended Posts

There is an unofficial download available for MMX Code Explorer with Delphi 10.3 Rio support. Unofficial because it didn't have had much testing yet due to some incompatibilities found during the beta phase. One of this results in the loss of the MMX editor context menu entry.

 

Another big change ist that MMX version 14.x only supports Delphi 10 Seattle and higher. For that, version 13 will still be available for download and installations for older Delphi versions should keep working. I had to make this cut to avoid wasting too much time just to make it work and test it on those older versions.

 

Nevertheless there are some features and bug fixes:
 

  • Unit Dependency Analyzer is now dockable (so you can see immediately when you introduce cyclic dependencies)
  • New settings page Project Options (currently contains only the setting for Uses Clause Sorting). These settings are stored per project in a separate section of the dproj file.
  • Uses Clause Sorting accepts lists like (ToolsApi,DesignIntf) as one group. This only affects grouping, so the order inside this list is not relevant.
  • Uses Clause Sorting accepts wildcards like Rz* (for Raize Components) or Id* (for Indy) to better handle non-dotted unit names
  • New sorting options "group class members" - keeps the class methods together
  • fix: Wrong result when renaming parameter during Extract Method
  • fix: Add Local Variable now also works with For-In clause
  • fix: Hard coded string scan check for min length works correct now
  • fix: Paste Interface in empty class just works now
  • fix: Consolidated behavior of selected file in Open/Use Unit dialog
  • fix: Creational Wizard follows static/non-static when suggesting destructors

 

Some work has been done for supporting themes, but that is still a long road to go. 

 

Please report any bugs and problems found either here or via support@mmx-delphi.de.

  • Like 5
  • Thanks 7

Share this post


Link to post

Thanks for the great tool, I will check a little later.

Quote

Another big change ist that MMX version 14.x only supports Delphi 10 Seattle and higher.

Good decision in general, to make projects futureproof, instead of trying to re-invent the past 👍

  • Like 1

Share this post


Link to post
1 hour ago, Rollo62 said:

Good decision in general, to make projects futureproof, instead of trying to re-invent the past 👍

I disagree in this case, but I can understand Uwe's decision.

  • Like 1

Share this post


Link to post

I have even been at the edge of dropping everything below 10.3 Rio at some point, but the effort to make it compile with the other 10.x versions was not that much (although it just turns out that there still might be some hickups with 10.2.0 to 10.2.2).

 

After all, dropping support for older Delphi versions doesn't take anything away from existing users of these versions. They just won't get any new enhancements.

 

The crucial point for myself is the testing effort for all these versions I don't use on a day by day basis. Given that these tests usually reveal some problems related to that version, that effort often rises significantly.

  • Like 2
  • Thanks 1

Share this post


Link to post

There are no words that can express how thankful I am for your effort, I've always waited for MMX's availability before starting with a new version.

 

So, for now, a big thank you, @Uwe Raabe. Is there any way I can support future developments?

 

Best,

Carlos

Share this post


Link to post
5 hours ago, Carlos Tré said:

Is there any way I can support future developments?

Of course: File bugs and feature requests.

Share this post


Link to post
21 hours ago, Uwe Raabe said:

Of course: File bugs and feature requests.

I know it depends on the decision of the original developer of MMX, actually I want to be able to contribute to the source by adding old version support :)

  • Like 1

Share this post


Link to post
On 12/9/2018 at 3:52 PM, Uwe Raabe said:

Of course: File bugs and feature requests.

A feature request then: the align code dialog could allow persistence of the code elements between sessions. I use it a lot, my COBOL OCD compels me to, and almost always the elements are the same.

 

In case you opt to accept donations to fund development, please just let me know.

 

Thank you very much,

Carlos

 

  • Like 2

Share this post


Link to post

Official version 14.0.3 with support for Delphi 10.3 is now available. There have been only some small bugfixes since the beta version (f.i. beta still used the v13 registry key).

  • Thanks 4

Share this post


Link to post

Hi Uwe,

 

just installed latest version 14.0.3 on Delphi 10.2.3: now it looks like some keyboard shortcuts are no longer working: Ctrl + L to declare a new local variable or  Shift+Alt+up/down to move selection up/down.

It simple does nothing (Ctrl+L) or is doing a block selection.

After reinstalling 13.1.0.2220 keyboard shortcuts are working fine again.

 

Share this post


Link to post

That's much better! :classic_smile:

 

Thank you for fixing this and doing all the work on Code Explorer.

Share this post


Link to post

MMX editor context menu entry - still not available with the latest 14.0.4 version (Delphi RIO)?

Share this post


Link to post
5 hours ago, wuwuxin said:

MMX editor context menu entry - still not available with the latest 14.0.4 version (Delphi RIO)?

Unfortunately it is not easy to implement this. You will find the same problem with other IDE plugins trying to do the same. Unless someone finds a valid solution for this problem and is willing to share it I may need some time to invent something by myself.

Share this post


Link to post

Thanks for "Format Uses Clause" command!

 

Is there a similar command to achieve the following:

 

Turn this:

type
  TformMain = class(TForm)
    btnGenerateCertificate: TButton;
    //etc.

Into this:

type
  TformMain = class(TForm)
    btnGenerateCertificate: Vcl.StdCtrls.TButton;
    //etc.

 

Share this post


Link to post
5 minutes ago, PeterPanettone said:

Is there a similar command to achieve the following:

No.

Share this post


Link to post

So would you please consider adding this very useful functionality?

 

I have made the experience that "Find declaration" for some identifiers works better if the identifier has this kind of specification.

Share this post


Link to post
13 minutes ago, PeterPanettone said:

So would you please consider adding this very useful functionality?

Unfortunately that is way more complicated than resolving the unit scope names. It requires to find out where that identifier is declared with respect to the current scope and uses clauses. While Code Insight does have this information and therefore can offer this "Find Declaration" functionality (with all its quirks), MMX does not and it is not planned to support it. Perhaps, when somewhere in the future MMX uses some sort of compile or syntax check, this might be easier to implement. For the moment it is simply out of bounds.

 

BTW, one of the advantages of MMX is that it usually still works even when the code does not compile. That is because it doesn't use a compiler to analyze the sources.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×