I have an issue in Delphi 10.1 Berlin using VCL Styles and an external DLL.
I'm using a Nitgen DLL to enroll fingerprints in my application. The process is handled by a COM object in NBSPCOM.dll
.
When I call the method to enroll, the form from the DLL appears odd. It shows the Form background, images and controls are wrong, etc.
If I compile the application in XE8, the problem vanishes and all works fine.
I can't find the class of the DLL forms to try a VCL Styles hook.
Some screenshots of the form:
Original form
Wrong Form
When you uses the
VCL Styles
the native winapi controls (Static, Button, RebarWindow32, ...) are styled using aWH_CBT
Hook, My guess is which the dll is using astatic
orButton
winapi control where the background of the image is drawn. To overcome this you can disable the styling of these controls using theVcl.Themes.TStyleManager.SystemHooks
property like so