1
votes

I have a problem with Sisulizer in a DPI-aware Delphi application. The application works perfect in high DPI, also along multiple monitors with multiple DPI settings.

The problem arrises if the user changes the language (resource) runtime with one or multiple forms shown. We do this using SetNewResourceFile in LaResource.pas. This loads the new resource file and will overwrite all properties of all components. This changes also the left, right, top, bottom, width, height, etc. of the components and thereby change the scaling of all forms and components. So, a form that is scaled 200% is 'reset' to 96ppi after this action. This behavior is not desirable.

Does anybody have a suggestion how to solve this?

1
This seems to be a Sisulizer problem, did you contact their support?whosrdaddy

1 Answers

1
votes

I have the issue by adding to following lines of code:

initialization
  LaEnabledProperties := STRING_TYPES_C;

Although this solves my issue, it is still a bug in Sisulizer. If you have, for example, a label with different width for each language, it will not work. If have notified Sisulizer and hope that they will fix it.