Came to this error today:
The C/AL object was not saved in compiled form. Compile it from the Object Designer and run it again.
Internal Compiler Error. Error Code = 00000022 .
Unknown error.
This can occur when working with recordrefs as parameters in functions.
When the parameter is inclosed in brackets() then the error above will appear.
Compiles
myfunction(myrecordref)
Will not compile
myfunction((myrecordref))
Thought I'd share this.
Answers
I encountered the exact same error message but for another reason :
It happens when one works with DotNet IEnumerator and function with DotNet parameters.
Here's the problem and its solution :
Consider one working with a function that accept any DotNet class, in this example I have taken FileInfo :
If one iterates through an array of FileInfo with an IEnumerator and then gives the current IEnumerator to the function, he will get this mysterious internal compiler error :
To solve the problem : instanciate a DotNet object with the current IEnumerator and give this object to the function :
Cheers.