0
votes

A few weeks ago, our company migrated from Delphi 5 to Delphi 10.3 Rio. After some problems, we've reached our goal to compile our solutions (many EXEs) with the new IDE. We're using DCC32 to compile our projects every day.

Unfortunately, some of them have encountered a visual issue. They are using the old VCL visual style from Delphi 5, whereas others use the newer style.

After much research, we've noticed that every executable that works has a manifest (thanks to ResourceEditor.exe), but the others which don't work don't have any manifest.

Projects seem very similar, no forced manifests files, same compiling way, same resources generator.

It seems that the default manifest (default_app.manifest) located in the Embarcadero directory is used during the generation.

Does anybody know why some EXEs contain this default manifest and others don't have it?

EDIT:

Thank you everyone for all your replies, i'm a bit late but i have managed to solve my problem. Unfortunately one of our libraries owns a manifest on one of his res file. But some of our applications don't use this library and have this issue.

For those who point the IDE solution, we use dcc32 compilations which, tell me if i'm wrong, don't use the dproj file where the runtime theme is specified. The IDE solution works well but since we use dcc32 compilations, we can't use it.

1
OT: You should consider using MSBuild instead of dcc32 to build your projects. It's the "official" way since years.Uli Gerhardt
Did you simply open the old D5 projects in the new 10.3 IDE and let it migrate them for you? Such migration is seldom smooth, there is usually side effects (bad settings, missing/incorrect references, etc). You should never let the IDE migrate old projects for you. Always create new projects fresh and then add your existing source files to them as needed.Remy Lebeau
This is due to runtime themes not being enabled (because they didn't exist in Delphi 5). Go to Project->Options->Application->Manifest and check "Enable runtime themes"Ken White

1 Answers

2
votes

This is probably an issue with option "Enable Runtime Themes" not being selected (Project / Options / Application / Manifest).