Migrating from C5.5 PE

Hi there.

We are still using C5 (I think it is 5.5 PE but the Help|About only shows it as 5b) and want to know more about migrating to latter versions of Clarion.

We use DET as our dictionary contain lots of tables, now it has almost 400 and involves 50+ apps (some big, some small) mostly as DLLs. We have a few templates of our own design and use a few 3rd party ones too. We are not using ABC.

I found this article, https://clarionhub.com/t/migration-from-clarion-6-3-to-c10/690/2, which migrates from 6.3.

I am doing this ground work first to find out if a migration is possible or worthwhile.

Is DET going to be a sticking point?
Is a stepped upgrade (to 6, then 8 etc) the way to go?
Has anyone who has used DET managed to move to a latter version?

Any information, tips, tricks, pitfalls etc, anything that can help guide me would be appreciated.

Thanks.
Andrew.

1 Like

Hi
I don’t know about DET, but from what I’ve read it’s not needed any longer.

Going straight from 5 to 10 is possible. But remember the threading model changed with C6 so your Apps need to cope with that.
Legacy template chain is still supported so no worries there.
You need to make sure your templates are available for C10, which may or may not be a problem. Any that have blackbox Dlls will need to be updated.

There’s a decent amount of info if you trawl through the newsgroups.

Hi Andrew,

Is DET going to be a sticking point?

I have never used the DET template. But I can imagine that with some minor changes this template can be moved to CLARION 10 (if there is no C10 version available). I have a set of my one templates to enhance access to SQL ORACLE databases (and much more) using since CLARION 5.5. I bring them to CLARION 10 happily with minor changes. And this is true for all my self coded CLW classes. Nearly all changes concerned bad coded templates or classes and bad code was detected by the Clarion 10 generator or the compiler.

One way to migrate softly to C10 could be to move your apps step by step. You can run C5/C6/C10 apps on the same machine if neccessary since they all have their own set of runtime DLLs.

Is a stepped upgrade (to 6, then 8 etc) the way to go?

IMO it makes no sence to migrate step by step because the differences concerning templates and sources are not so big as expected. Most of the changes are in the IDE and the runtime system. Do it once and it’s ok.

For me there is a clash with the C10 IDE. I see no great advance with the report formatter, some good and powerfull ideas with the window formatter and the dictionary editor. Compiling is faster and using the MS build system gives oportunity of new automatisms. But I work with C10 and C6.2 50/50 now and for me C6.2 is more stable and easier to use (since I use the “old” Clarion since 1995). C10 is not as stable as good old C6.x and some features looks fine but slows out productivity. Sometimes the IDE crashes or hung in infinite loops. But it is future oriented and absolutly worth to work with. I hope in the near future C10 will be stable like C6.x is.

Sincerly Bernd

1 Like

Hi seanh,

Yes, I think DET only existed up to V5.

Thanks for the info about Threading, I will consider it should/when we migrate.

Templates shouldn’t be an issue.

bernd_lu,

We ended up using DET (Dictionary Enhancement Templates) because the V5 dictionary apparently had size limitations (number of tables plus relationships etc) and DET addressed that for us. DET also added some functionality; enforced RI between tables, provided a open/close (count) mechanism for tracking how many times tables where opened and closed (to save I/O) etc.

My greatest concern is that we have become dependent on the DET functionality, I am wondering how much work is involved in undoing DET and reworking it.

I suspect the Clarion migration is simple compared to the DET issue.

Does anyone have experience with DET and removing it?

Andrew

18 months ago, did and upgrade from C5b to C9 , as C10 was still very young
I was using DET. and I/we opted to remove DET altogether. and user GLObal Variable filenames in the Dct.
Because of the size of the project (32 dll’s ) and other template upgrades , we exported each procedure to TXA from C5 and Imported the TXA into C9 . Most of which we did not have to touch.

Hi ted.

Glad to hear you made the change and survived. I would be interested to know more about how it was done and what the biggest hurdles and pitfalls were, more importantly using GLObal variables etc in the DCT and replicating the DET RI functionality and File Open/Close management etc.

I assume Clarion V6 and beyond are free of the limitations that V5 had; DCT sizes (number of tables and relationships), APPs with no more than 250ish procedures etc., better ODBC handling (V5 ODBC doesn’t seem to manage BLOBs at all)

As previously stated, I am finding out as much information as possible, migration isn’t going to be for a while yet, we are currently working towards a new release (revised UI and new features) and once it has stabilsed, will investigate further.

Thanks for the information.

BTW, any idea if a demo/eval version of C9 or C10 are available?

Andrew,

  1.   We opted to deprecate DET altogether.. It’s old and IMO obsolete.
    
  2.   Created global filename Variables for ALL files/tables (which DET was doing anyway), and made them threaded
    
  3.   We very purposely did NOT make any changed to the data structures what so ever.
    
  4.   One of the biggest hurdles , was the PDLookup template , that used to be a black box and in now a source class, a couple of the template prompts never came across, hence we had to manually open every instance and update the values, and with 38 apps (34 dlls) and most apps had approx. 200+ procs in each . it was a time consuming task.
    
  5.   The other hurdle we had was chasing down update version of ALL third party templates and   libraries, as some are no longer available.
    
  6.   Images – it was using ‘ImageN’ quite heavily , and the cost of upgrading that was prohibitive. We opted to just use the STD clarion  Image control
    
  7.    Crafted a global template to reinitialize a HUGE amount of global variables whenever a  proc was called on a new thread ,(‘cause the original author had a AS 400 background, and did not know how to pass parameters etc.)
    
  8.   I/we opted to leave the program in legacy, purely because of the size of the migration/upgrade, and to also reduce the potential l ‘bugs’
    
  9.   In my option/experience I’ve found it best to limit procedures to  250 per app.
    
  10. This program also has CPCS reporting , and tracking that down was a bit of a chore

  11. The client has 28 user hammering away daily, and reports the program is also faster than when in C5.

I have since upgraded the whole program to C10 . almost flawlessly. In one day

To the Best of my knowledge there has never been ‘DEMO’ version/s of clarion anything.

ODBC . would be interested what/how you using that ??
I can’t get it to work satisfactorily with 64 OS, and 64 office .

Hope that helps

Regards

Ted Steward

Many thanks for the detail.

I’m sure I will have many more questions when I eventually start the migration.

Sorry for the confusion, we are using ODBC File driver instead of TPS File driver. We connect to a Firebird SQL DB and the V5 ODBC driver does not have a BLOB or equivalent data type AFAIK.

Well, I have managed it.

I spent a great deal of time comparing our 5.5 templates and DET templates to the original unedited versions and then comparing those to the C6 templates and making changes.

A few typos, a missed #END and a little bit of head scratching and I think I have ported the templates to C6.

I exported a small utility EXE and a couple of non-dictionary support DLLs applications to TXA and imported them into C6. A little bit of mucking around changing File Control Flags and File Overrides as well as changing Template Global Data and I managed to get it to compile and run. Big pat on the back for me.

Thank you Ted for the information and steps you took.

For now I will only be converting some in-house utilities to find out what else I mucked up and get a feel for C6 and its newer features (compared to 5.5) After that I might have to get my hands on C10…

Thanks to all who contributed.

1 Like