Multiple Active Clarion Systems (MACS)

I have an application still in C6 which I am keen to move over to C10. There are some concerns about going straight to C10, factors and other things specific to my client which are irrelevant to this topic, so as one option I am evaluating using “Multiple Active Clarion Systems” (MACS) and compiling with C6 from the C10 IDE as an interim, stepping stone solution.

This topic is to document my findings research and experience with MACS and hopefully gather some feedback along the way. If you have any experience with compiling using Clarion 6 in the new generation IDE (C7+) I would love to hear from you!

Some references I have found:

MACS appears to have first been mentioned by Robert Zaunere in a 2008 newsgroup post titled “Re: What advantage does this give?”

And on the IDE side: New Application Generator, Code Completion, Code
Reformatting, Class Browser, much better Source editor, new Data Dictionary
functionality, new Data Diagrammer, much more powerfule Window and Report
Designers, and support for Multiple Active Clarion Systems (MACS).

Clarionlive Webinar#140

A great way to start the New Year! Bruce Johnson and JP Gutsatz joined us for two presentations! Bruce Johnson showed us how to use MACS (Multiple Active Clarion Sets) and JP showed us some snags he hit when moving from C6 to C8, which lead to fascinating discussions with special Code Camp Counselor Mike Hanson! Thanks everyone for a great webinar!
Bruce Johnson on MACS, JP Gutsatz on C6 to C8!

Capesoft - Clarion 7 Conversion Issues

Question: I am using the MACS feature under Clarion 7 to compile my app as-if it was being compiled in Clarion 6. Is this supported by CapeSoft?

Answer: Yes, and no. Clarion 7 does not provide an exact match to Clarion 6. There are differences in the application generator, and there are some (mostly minor) differences between the templates required for Clarion 6, and the ones required by Clarion 7 (even in C6 mode).

In theory we should need to do nothing to support this mode in Clarion 7, after all the goal of the MACS feature is to allow you to use older products without having to upgrade to Clarion 7. In practice the differences can lead to problems. We have already seen (and fixed) several issues in this area.

Considering that Clarion 7 still needs time to mature, there are bound to be problems in the “edge cases”. We consider supporting C6 under C7 to be an edge case, and would recommend people not to adopt this approach. Internally we’re not using it for any of our own apps.

In this sense we’re not supporting this mode directly. As time goes on, and this feature becomes more mature and robust, the need for us to do anything to directly support it will disappear. At the same time we can, and will, make small tweaks to the Clarion 6 templates as we become aware of their requirements.
Running Clarion 6 under Clarion 7 using MACS mode

Clarion Help File - Multiple Clarion Version Support


The Clarion IDE supports all versions back to Clarion4. You can configure the IDE to use the compiler and linker, and runtime and drivers, from any installed version of Clarion. This allows you to get all the benefits of the advanced IDE without ever having to migrate your application to the latest version of the compiler and runtime.

Adding additional versions of Clarion to the IDE

The IDE tries to detect all Installed Clarion Versions at first run using data from the Win.ini and Regsitry, but you can also manually add Clarion versions versions from the main menu Tools > Options > Clarion > Clarion for Windows > Options

Switching the Active Clarion Version

From the main menu, select Build > Set Clarion Version

**Note
If you are switching versions for an Application, the Application must be closed prior to switching versions (due to the template registry processing that is required). For hand coded projects, you can switch versions at any time.

Registering Templates for an additional Clarion version

You have to register the templates that will be used for every version registered to the IDE. After setting the Active Clarion Version, use the Tools > Edit Template Registry menu item to register the templates.

These are the steps to switch the IE to your Clarion 6 installation:

  1. Start the Clarion IDE.
  2. Switch to the Clarion6 version from the main menu (Build > Set Clarion Version)
  3. Next go to Tools > Edit Template Registry
  4. Register your Clarion6 templates.

NOTE: Remember that when you set the IDE to use another Clarion version that the redirection file for that version is used.


Quick note: I remember that @JP_DMC_, used to call this C7V6 which give a bunch of hits both in google and in the NG. I will be studying them also and making further notes here. Thanks JP! :angel: :heart:

2 Likes

That quote is obviously quite old - these days we use MACS extensively ourselves, although not for cross-clarion-version issues. Rather we use it to maintain a different environment (stored on the LAN) for each product. In this way upgrading say the Clarion environment on one machine, or installing a 3rd party accessory into one environment, does not affect all the other environments/products.

So any developer can easily work on any product, with the environment that belongs to that product. If the environment is upgraded, because the environment is shared, everyone compiling that product, or parts of that product, automatically see the upgrade.

2 Likes

I had some good success today with C10V6 on a quick and dirty conversion. There were a few tweaks needed for the shipping templates and a small handful of orphaned #SEQ properties which I cleaned up in the C6 app. The most concerning was embeds being orphaned and therefore not generated which I will need to dig into. Hopefully a before/after diff of the generated source will catch a lot of that.

There are also some procedures still marked “with errors” but no explanation:

…but I have a feeling they might be related to an ancient Legacy–>ABC conversion that this app went through and I may have skipped registering the C6 legacy templates in C10V6 :slight_smile:

EDIT: I found them, it was the reports not the windows that were the problem. duh!

Once I have a little more time I will document the entire process for future reference and continue to iterate over the converstion. It is looking like a good step towards eventual full C10 upgrade for this app!

IMO, having been down that track,
Better to bite the bullet and Upgrade to C10 now , otherwise your just prolonging the inevitable.
FYIW, in may case 32 dll’s and 3 exe’s

2 Likes