Description:
I'm working on a project which uses the ExpressQuantumGrid and ExpressBars. Some of the application's modules are built as DLLs. When I try to load a particular DLL an error occurs:
"A class named TdxStatusBarContainerControl already exists".
What am I doing wrong?
Answer:
There is a strict rule that you should follow when compiling a DLL: You must compile both the main module and the DLLs with those runtime packages, which contain the classes used in both** modules. In your case, you should include the ExpressQuantumGrid's and the ExpressBars' (the TdxStatusBarContainerControl component is a part of the ExpressBars) runtime packages to the list of runtime packages when compiling your application and DLLs. This way, everything will work fine.
NOTE: This approach requires you to deploy the corresponding runtime packages with your application.
See also:
How to properly use CX Shell editors in a DLL
Why is it impossible to close an application which uses the ExpressNavBar hosted in a DLL?
How to determine which runtime packages to deploy for a VCL component