Why so many versions of Ini++?

It is often asked why there are so many versions of the Ini++ object. I’ve explained the answer a few times on the Clickteam forums, but I thought it would be worth while explaining it here too.

The answer is: There aren’t.

The situation is that there are two versions of the Ini++ object. The original, and Ini++ v1.5. The latter was made when the Ini++ object behaviour changed. In particular, it no longer enforced items and groups to be in sorted order. Therefore I could not release this as an update to the original, as it could break peoples code. To make things worse, this was not something which could be an option either (without some rewriting of code in the original). It was called Ini++ v1.5 as a nod to Multimedia Fusion v1.5, which was Multimedia Fusion v1.0 plus many new features.

Naturally, there have been different releases of the ‘Ini++ Object’ and the ‘Ini++ v1.5’ objects, but both kept calling themselves that name. There is no ‘Ini++ v1.6’ object. There is no  ‘Ini++ v1.1’. Just the two mentioned. They have the file names ‘Ini++.mfx’ and ‘Ini++15.mfx’ respectively.

So why the confusion?

The problem stems from the fact that although the behaviour of Ini++ v1.5 changed from that of the original, it was still compatible with the original Ini++ object. That is, if you took ‘Ini++15.mfx’ and renamed it to ‘Ini++.mfx’, then any MMF application using the old version would suddenly be ‘upgraded’ to the new version. If you knew your program wasn’t going to stop working because of the changes, this was a great way to make use of the new features without copying over all the events to the new object. Quite a lot of people did this.

It was entirely deliberate that you could do this. In fact, Ini++ v1.5 has a few actions which have no menu items exactly for this purpose. For if they were removed from the code, then this renaming method might not work.

You would expect that if you did this you would see two identical looking objects in the ‘Create new object’ dialog. The same icon, the same text: ‘Ini++ v1.5 Object’. In fact, this is not what you see. Multimedia Fusion will rename the second object to ensure it doesn’t have the same name, so you actually end up with ‘Ini++ v1.5 Object’ and ‘Ini++ v1.5 Object 2’.

The first one (selected in the picture) actually has the file name ‘Ini++.mfx’ and the second has the file name ‘Ini++15.mfx’.

An earlier version of the Ini++ v1.5 Object called itself simply the ‘Ini++ v1.5’ object. Therefore if both ‘Ini++.mfx’ and ‘Ini++15.mfx’ were that version, you would in fact get ‘Ini++ v1.5’ and ‘Ini++ v1.6’ in the dialog, as it intelligently renames. Therefore any object calling itself ‘Ini++ v1.6’ is just an illusion. (Indeed, the title of the object was renamed after it was noticed this happened to avoid this confusion)

But perhaps you are seeing this anyway, despite not being one of the people who renamed ‘Ini++15.mfx’ to ‘Ini++.mfx’? Unfortunately, this is common. The first installer for the first release of Ini++ v1.5 actually installed the file as ‘Ini++.mfx’, which was obviously complicated the situation. (I didn’t make this installer. Later installers install it correctly.) I believe that the one of the extension updaters for MMF will also distribute Ini++ v1.5 with the filename ‘Ini++.mfx’. Combined, this means that nearly everybody will have this problem.

Perhaps I will solve this in future by having the next installer install the original version of Ini++ as well. Or perhaps by making sure it is uninstalled (as you shouldn’t really be using it anymore anyway – it exists only for compatibility reasons now).

So which version is the latest version? Well, it is quite possible they are both the same version. Make sure you are using the version with the file name ‘Ini++15.mfx’ (you can tell this by selecting the object and clicking the ‘About’ tab in the properties viewer). Ensure this is up to date by installing the latest release. If you don’t use ‘Ini++.mfx’, perhaps you should delete it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: