delphidelphi-12-athenscef4delphi

Registration procedure raised access violation exception


I recently installed Delphi Athens CE and downloaded the latest stable version of CEF4Delphi (131.0.6778.265) and tried to build and install it. (It has three packages: one for VCL, one for FMX, and a design-time package.) Building went okay on all three, but trying to install the design time package raised this exception:

Registration procedure @Cef4delphivclfmx_register@Register$qqrv.Register in package {my path}\bpl\Win32\Debut\CEF4Delphi_designtime.bpl raised exception class EAccessViolation: Access violation at address 65950520 in module 'rtl290bpl'. Read of address FFFFFFD0.

I'm posting here rather than on the CEF4Delphi forum as it appears to me to be more of a Windows issue than a CEF4Delphi one (although I have successfully recompiled and installed a number of my own packages). I've also successfully installed an earlier version of CEF4Delphi with Delphi 11.

What I've tried:


Solution

  • The problem usually is that the IDE, when loading a package, uses the search PATH and finds one that has the expected name but was compiled with a different version of Delphi. The reason for this most of the time is that when you upgraded a package manually you forgot to change the name or the Lib Suffix for it.

    So: check your PATH environment variable (system and possibly user) for .bpl files that were compiled with a different Delphi version but have the same name as the ones for Delphi 12. And if you find any, delete or move them. Then check where they came from and fix that package so the names of the .bpl files are unique for each Delphi version.

    Note: reordering the directories in PATH to first find the new ones might work, but if you are using multiple versions of Delphi in parallel you will only move the problem to a different IDE.