Watch, Follow, &
Connect with Us

Please visit our new home

Welcome, Guest
Guest Settings

Thread: Unusual problem compiling from the command line

This question is not answered. Helpful answers available: 2. Correct answers available: 1.

Permlink Replies: 0 Threads: [ Previous | Next ]
Salvatore Besso

Posts: 10
Registered: 5/10/00
Unusual problem compiling from the command line  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 5, 2016 4:38 AM

Delphi XE8. I have encountered a strange problem during compilation from the command line. I have made a bunch of batch files to automate compilation of components; dproj files are ignored and dpr or dpk are passed to the command line compiler. Tried with 13 different sets of components (most of them belong to the TurboPack package): they work well and compilation completes without errors.

One of the parameters passed on the command line is unitscopenames for XE2 and above. Usually I fill this variable with all scope names as taken from the Wiki for the Delphi version to which it belongs:

set unitscopenames=Bde;Data;Data.Bind;Data.Cloud;Datasnap;Datasnap.Win;IB;FMX;FMX.ASE;FMX.Bind;FMX.Canvas;FMX.DAE;FMX.Filter;FMX.Platform;FMX.Printer;iOSapi;Macapi;Posix;System.MAC;System;System.Bindings;System.Generics;System.Math;System.Sensors;System.Tether;System.Win;Vcl;Vcl.Imaging;Vcl.Samples;Vcl.Shell;Vcl.Touch;Soap;Web;Web.Win;Winapi;Xml;Xml.Internal;Xml.Win

Well. The new batch file that I'm testing opens a project (not a package) to compile some units of a third party library and it is almost equal to the other batch files that work well. The source files don't use scope names in the uses clauses and when compilation starts it complains that it cannot find TFontCharset type. But TFontCharset is defined in Vcl.Graphics (but also in System.UITypes). Graphics is present in the interface uses clause of the offending unit (while UITypes is not) but I don't think that this could be the problem.

Now I've tried to take the scope names directly from the build configuration of the project that is created automatically. It is like so:


Well, if I substitute the set unitscopenames=... with this short version the compilation ends with success. At this point I have no clues why:

1. The long version works with all component suites that I have tried (packages)
2. The long version doesn't work with this set of units (program)
3. The short version works with this set of units (program)

Any clues? I'm puzzled.

Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02