Feedback
Did this article resolve your question/issue?

   

Article

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
 
Last Modified Date11/20/2020 7:15 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.