Salesforce

Error 12882 after installing Windows 10 Creators Update

« Go Back

Information

 
TitleError 12882 after installing Windows 10 Creators Update
URL Nameerror-12882-after-installing-creators-update-on-windows-10
Article Number000188106
EnvironmentProduct: OpenEdge
Version: 11.4, 11.5.x
OS: Windows 10
Other: Windows 10 Creator Update
Question/Problem Description
Error 12882 after installing Creators Update on Windows 10.

Error occurs when performing dynamic method invocation. For example:
myObject = DYNAMIC-NEW 'className':U (). 
Progress.Lang.Class:GetClass('dynamic-new':U):Invoke(myObject ,'Show':U).

If the code is re-written as follows then it works as expected:
myObject = new className(). 
CAST(myObject, className):Show().

No problems prior to the installation of the Windows 10 Creators Update.

No changes to the code, etc. - only change was at O/S with Creators Update.

Recompiling the complete application and re-deploying it has no effect; problems persists.

Problem does not occur in OpenEdge 11.6 and later.
Steps to Reproduce
Clarifying Information
Windows 10 Creator Update installs / updates to Microsoft .NET Framework 4.7.
Error MessageCould not access element '<methodName>' of class '<className>' using object of type' <className>' - caller compilation is out of sync with class compilation. (12882)
Defect NumberDefect PSC00357020
Enhancement Number
Cause
The application was compiled against an earlier version of .NET (4.6.2 or lower). During compilation, information about .NET classes referenced by the ABL code is stored in the r-code. When the AVM runs the r-code on a machine which has .NET 4.7 (or any different version than it was compiled against) installed, it recognizes the mismatch and rebuilds some information about the .NET classes used by the application. This is normal and happens in both 11.4 thru 11.6. The difference between 11.4 and 11.5, and 11.6 is that much of the code which handles dynamic invocation of methods was rewritten in 11.6. In 11.4 and 11.5, the AVM mistakenly tries to rebuild the class information for the inherited class instead of the base class (System.Windows.Forms.Control). This causes a subsequent action to fail. The rewrite in 11.6 fixed this issue.
Resolution
Upgrade to 11.6 or later.

Customers who are unable to upgrade should contact Progress Technical Support for further assistance.
 
Workaround
Install Microsoft .NET Framework 4.7 on all machines that will run the application.
Re-compile the application on a machine with Microsoft .NET Framework 4.7 installed and re-deploy the r-code.
 
Notes

References to Other Documentation:
Progress Article(s):
 GUI .Net Application crashes after .Net upgrade to 4.7
 
Keyword Phrase
Last Modified Date11/20/2020 7:15 AM

Powered by