Upgrading Citect 7.2 Service Pack D project to 2018 R2 Cicode F4034 Issue

Hi,

We have a large project that we're upgrading to 2018 R2.

The project does contain some fairly large cicode files but these have been compiling successfully for years in v7.2.

We're now getting a compile error "Cicode Function Greater than 64k (F4034)".

The help suggests "The code generated by a Cicode file is too large. Place the functions within the file into separate Cicode files. "

I've gutted the files that it refers to into parts and got it to the point where if I add a single function scoped variable in a separate file that has very little in it, it fails to compile with this message, referencing the file.  It seems to me that based on the contents of the file that is apparently triggering this error, there's no way it could be generating this error, and in fact if I shift the file to a different project, it compiles.

I realise that sometimes you have to think outside the box when considering what might be causing a weird error like this but have run out of ideas.

Was just wondering if anyone had encountered this before and could offer any advice.

Parents
  • Thanks for that - appreciate the response.
    I figured out the issue today or at least got around it. I found in this case that it was the number of function scoped variables that was causing the issue. I found that if I defined a function that had more than 126 function scoped variable definitions (not input parameters) it would cause the error to be generated. In my case I had 129. I split the function into logical parts, each with only the variables needed and I was able to get it to compile. I think the error message should be changed or have additional documentation that describes all the possible causes of the error, especially if something has changed.
Reply
  • Thanks for that - appreciate the response.
    I figured out the issue today or at least got around it. I found in this case that it was the number of function scoped variables that was causing the issue. I found that if I defined a function that had more than 126 function scoped variable definitions (not input parameters) it would cause the error to be generated. In my case I had 129. I split the function into logical parts, each with only the variables needed and I was able to get it to compile. I think the error message should be changed or have additional documentation that describes all the possible causes of the error, especially if something has changed.
Children
No Data