I am part of a small team of developers that has a heavily customized SalesPlace installation. Recently we (just the developers) upgraded our clients and designer clients to 8.5.1 while the remaining end users are still at 7.x. Whenever we make some custom changes in our template and refresh the design of the production databases, this usually results in LotusScript errors popping up everywhere. That prompts us to recompile all LotusScript from the Designer client. Ever since upgrading to 8.5.1 however, the recompile all LotusScript menu option doesn’t always seem to get rid of the errors. We still get the errors whether we’re using the application in a 7 or 8.5.1 client.
If we recompile all LotusScript from just an 8.5 designer client or less, than the errors go away. We’re using the Eclipse based LotusScript editor that shipped with 8.5.1. We’ve tried disabling the “Enable automatic recompilation of all dependencies” preference and continue just recompiling all LotusScript on demand, but that did not solve our issue. I really want to be able to use the Eclipse based editor in 8.5.1 as it offers many nice features I’m accustomed to with Eclipse. Has anybody else run into this problem and found a solution?
I had a PMR in on unresolvable errors in “Recompile all LotusScript”, and in essence it boils down to two things:
The Eclipse LS compiler is more strict than the old LS compiler. The old one did not detect some bugs that the new one does. I don’t recall the details, only that complex code (40 interdependent class libraries in my case) that compiles fine under R6.5.4 failed reliably under R8.5.1, and one issue was this difference in how the compiler works. The Good News is that the new way is actually how it should have worked all along.
The different part is that new compiler does not report errors correctly. In my PMR the error was four “Use” levels away from where the error was reported, at the end of a class hierarchy branch, and the error was not a “Syntax Error” at all. It was type mismatch on a parameter to a method call. A cut and paste error, essentially.
The other different part is that the above bogus “Syntax Error” that appeared in “Recompile all LotusScript” never appeared if the modules were manually compiled, not even the class library containing the error. That didn’t streamline resolution any, but there it is.
So most likely your code does have errors that were not caught by R7, and you should take the error messages and locations with a very healthy skepticism.
I was informed there are “numerous” SPRs already in place for the LS compiler, implying there will be fixes down the road.