c++windows-10c++builder-6

Dialog forms flash quickly but aren't drawn properly after that


I have some legacy code made with Borland C++ Builder 6 that I have to port from Windows XP embedded to Windows 10 IoT.

It all seems to run properly, except dialog forms which aren't drawn properly. When I call ShowModal on the forms to show them, they flash quickly and then seems to disappear. However they are not gone, instead they are just not drawn and the form behind the dialog is seen. The dialog form buttons can still be pressed (if we know where they are).

I have tried all possible redrawing, refresh, repaint and update functions I could find, but nothing seems to work.

To make matters worse, dialogs containing actual control elements (like one containing a set of TSpeedButton elements) the controls are redrawn when moving the mouse over them, but anything else are not redrawn.

I have tried to search for similar issues but can't find anything for this.

Could this be solved? Or do we have to update to a newer Embarcadero version of the IDE to be able to solve it (which is a lot or work and not really something we can do at the moment)?


Solution

  • The problem was the use of a Billenium Software (now defunct) package for "fancy" transitions.

    The transition in question "zooms" a dialog open, and it just doesn't seem to work. Disabling this transition will solve the problem of the disappearing dialogs.

    I still don't know if it's a problem with the components Windows 10 compatibility, or with its 64-bit system compatibility.