Question

When I tried to compile EmbeddedWB in Console it complains about some OleCtrls unit. Yet normal Webbrowser compiles without no problem.

How to compile it under Console?

[dcc64 Fatal Error] SHDocVw_EWB.pas(66): F1026 File not found: OleCtrls.dcu'

Was it helpful?

Solution

The issue is unit scope names. A console application by default has different unit namespace aliases from a forms application. Solve the problem by either:

  1. Using fully qualified unit names. The full name for that unit is Vcl.OleCtrls.
  2. Add missing unit scope names (in your case Vcl) to your console application's project configuration.

Since you are compiling third party code, it will be preferable for you not to modify that third party code. Hence option 2 is the way forward.

There may be other unit scope names that are needed. Make sure you add them all. And make sure that you are using the latest source for the component, obtained from the VCS repo and double check that it does indeed support XE4.

Note that my assumption is that by console you mean a console application. If you actually mean command line compilation then the answer is still essentially the same. You'll need to make sure that the unit scope names are specified when compiling. Normally that would be done in the project configuration and msbuild would pick them up and pass them on to dcc32 or dcc64.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top