ct2laz has been updated to v1.20. It is now fully compatible with CT 6.30+. Because of the breaking changes you must delete your old INI file (if there is one) and download latest REPLACEMENTS.CSV file. As usual, CSV file and prebuilt Windows and Linux executables can be downloaded here:
https://bitbucket.org/avra/ct2laz/downloads/I was shocked this time by the amount of changes that PilotLogic has put into trying to differentiate Typhon from Lazarus. Besides more file extensions renaming, some functions having Lazarus in it's name have been renamed, and even XML tags in project groups have been changed. I had to make some significant changes to be able to cover all cases without employing a parser (which would slow down conversion significantly so I will try to avoid it as long as I can). I don't like such differentiation between Typhon and Lazarus, and since you are reading this I guess you don't like it either. I want the freedom of choice, so ctlaz comes to the rescue again. You are safe to start a project in Typhon knowing that you can get back to Lazarus any time. Breaking compatibility with Lazarus was one of the show stoppers for many people, and at the time they have decided to not start any new projects in Typhon. With ct2laz they are on a safe side again, so this is a major benefit that ct2laz brings to Typhon. On the other hand, even pure Lazarus users can benefit from using Typhon components and CodeOcean examples. Some components have bug and cross platform fixes, others can not be found anywhere else. From my point of view, it's a win-win situation for everyone.
By default, ct2laz will convert every known package name. But let's say that you want to use Typhoon's
pl_indy instead of original
indy Lazarus package, or
pl_synapse instead of
laz_synapse. That would mean that you would actually want to exclude those 2 packages from the conversion process. That is possible because all conversion pairs are stored in a CSV database table file. All you have to do is to locate their rows in CSV file and change T to F in first column of such rows in the table. That would tell ct2laz to skip such rows. You can do it from ct2laz (grid data is editable), or if you know what you are doing then you can also edit CSV file directly in some editor (it is plain ASCII file, but you must be careful not to corrupt it's structure).
If you already have Typhon installed then you don't have to use downloading option in ct2laz at all. Simply uncheck 2 first checkboxes and put
typhon_src.7z (components) and
CodeOcean.7z (examples) into conversion process directory. This is what you would like to do also in case when your Typhon is not the latest version and you want to use exactly your already existing Typhon for the process. Because of the breaking changes, for use with CT 6.10 and older it is better to use old ct2laz executables and CSV file. For such needs I have saved them all and you can still find them in Downloads section. For your convenience here is the
direct link to the archive.
If you want, you can even misuse ct2laz as a general files search and replace utility, by creating new REPLACEMENTS.CSV file with your own conversion pairs, and playing with available options on the form.
Previous ct2laz versions had only simple string replacements, and just took care of replacing quoted conversion pairs in one type of files and non-quoted in others. Things got more complicated with CT 6.20 and CT 6.30 so function handlers were introduced. That is the number in 2nd column of the CSV file. As you can see, it can have 3 values but I expect this number to grow in the future:
const
HANDLER_NONE = 0;
HANDLER_FORCE_REPLACE_WITHOUT_QUOTES = 1;
HANDLER_FORCE_PARTIAL_STRING_REPLACE = 2;
First number 0 is the old ct2laz behavior. The rest (1 and 2) are introduced to handle latest CT changes.
All CT 6.30 components and examples have been tested with 32-bit Lazarus 1.8.1 and FPC 3.0.5 on Windows 10. Some CT components are Windows only, and some are found to work only with trunk versions of Lazarus and/or FPC.
Have fun!