Solved

Running the Delphi Command Line Compiler for a build

Posted on 2010-11-18
6
2,500 Views
Last Modified: 2012-05-10

I am trying to build a delphi project from the command line compiler


Example: C:\dcc32 -B C:\BD\Delphi7\work\MyProject.dpr

Aside from the the standard evironment pathing:

$(DELPHI)\Bin;
$(DELPHI)\Lib;
$(DELPHI)\Imports;
$(DELPHI)\Projects\Bpl;
$(DELPHI)\Rave5\Lib;


there is nearly 50 other paths to other libraries, components, etc...

How do i package this all up and point to these to use in the commanline parameters to make my build?



When i run the example above

C:\dcc32 -B C:\BD\Delphi7\work\MyProject.dpr


i get a FATAL: File not found : 'file name here'

thanks

0
Comment
Question by:Looking_4_Answers
  • 3
  • 3
6 Comments
 
LVL 22

Expert Comment

by:8080_Diver
ID: 34165629
Have you tried putting the command line in a batch file and preceding it with a command line stataement to add those paths to the %PATH% (i.e. the default path)?
0
 

Author Comment

by:Looking_4_Answers
ID: 34165688
No, but i've tried this from a batch file

C:\dcc32 -B -U <all the paths here> C:\BD\Delphi7\work\MyProject.dpr

AND

C:\dcc32 -B C:\BD\Delphi7\work\MyProject.dpr -U <all the paths here>

I even tried placing single quote around the paths ' '

Im open to triy your suggestion, can you tell me how to go about it

Im not real good with batch files, so even my example above may have been wrong

i just placed the line in a file and renamed it *.bat


0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 34167024
First, go to a CMD line and, when you get that black box, type PATH and hit the <Enter> key.  This will show you the _current_ path.

1) Look at the character used to separate the various direcotry paths.  
     I think it is a semicolon but it may be a comma.  
     Which ever it is, remember it as "The Separator".  ;-)

2) Now, without closing the command window, open a new NotePad session.

3) On the notepad page, without ever hitting the <Enter> key, type the following line:
     PATH = %PATH%;

4) Now, type "The Separator" followed by one of the library paths.

5) Repeat Step 4) until you have added all of the library paths.

6) NOW hit <enter>.

7) add your commandline compile command.

8) Save this to a txt file but I would make it
     somewhere reasonable because you
     will need to execute it in a second from
     the command window you left open. ;-)

9) Open up a Windows Explorer session and change the Text File's file type to ".bat"

10) Now return to your command window and
     Change Directory to the root directory
     (CD \ <Enter> is you are already on
      the C: drive or C: <Enter> CD \<Enter>
     if you aren't) ;-)

11) Type the fully pathed file bname for the batch file you just created and hit <Enter> . . . it should execute the batch file.

12) Now type PATH <Enter> again and you should be back with the same (libraryless) path).


After the last
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Accepted Solution

by:
Looking_4_Answers earned 0 total points
ID: 34167885
actually, it is solved with the following (answered by some one on another forum)

Under Delphi 7 you need to edit you dcc32.cfg file (in you Delphi bin folder). You need to copy the library path from the IDE and put in the dcc32.cfg file. You have to add it 4 times for the different command line parameters, eg:

-u=path
-i=path
-r=path
-o=path

There are 4, I believe. I haven't done this in a few years so I hope that the info is correct. Certainly, the command line compiler does not use the same place to store the paths as the IDE does.

then call:

C:\dcc32 -B C:\BD\Delphi7\work\MyProject.dpr
0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 34168973
Sounds like a good solution . . . although the batch file should also work. ;-)
0
 

Author Closing Comment

by:Looking_4_Answers
ID: 34211369
actually, it is solved with the following (answered by some one on another forum)

Under Delphi 7 you need to edit you dcc32.cfg file (in you Delphi bin folder). You need to copy the library path from the IDE and put in the dcc32.cfg file. You have to add it 4 times for the different command line parameters, eg:

-u=path
-i=path
-r=path
-o=path

There are 4, I believe. I haven't done this in a few years so I hope that the info is correct. Certainly, the command line compiler does not use the same place to store the paths as the IDE does.

then call:

C:\dcc32 -B C:\BD\Delphi7\work\MyProject.dpr
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Delphi TcxGrid group footer summary 3 206
FMX enumerated colours 2 84
Delphi selector screen 2 69
Open a URL with Internet Explorer in a new tab (not a new window) 1 70
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now