Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] Third Party Tools

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 04-27-2004, 02:12 PM
FeedMe FeedMe is online now
Registered User
 
Join Date: 08-21-2003
Posts: 6
Run 2 "MakeVB6" steps at one time?

I have a parent and child project that both run "make VB6"

If one of the VB projects does not compile I get an error opening the file vsmake.err and the actual compile error is lost.

Both "Make VB6" commands use the switch /out %temp%/VsMake.err and I cannot see any way to change it.

Is there a way to change the /out switch so I can have a unique file for each instance of "Make VB6"?
Reply With Quote
  #2  
Old 04-27-2004, 03:04 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,034
The Make VB6 action always specifies /out <temp path>\vsmake.err for the output file. However, you could temporarily modify the TEMP environment variable before one of the Make VB6 steps. Add a Set Macro action to create a temporary TEMP macro to the desired path, checking 'add to environment variables...' option (the TEMP variable will be affected for that Visual Build process and any processes created in subsequent steps). The original TEMP env var value can be restored afterwards via another Set Macro action to delete the TEMP temporary macro/env var.

You may also need to create the alternate folder if it doesn't exist (if the VB6 compiler doesn't create it); you could use a Run Program step with a command of

%DOSCMD% md "drive:\path"

(and see this FAQ http://www.kinook.com/Forum/showthread.php?threadid=46 for how to build that step only if the folder doesn't exist).
Reply With Quote
  #3  
Old 04-28-2004, 08:28 AM
FeedMe FeedMe is online now
Registered User
 
Join Date: 08-21-2003
Posts: 6
Talking Temporary Temp Variables

I have already tried that very thing, to no avail.
There is a step at the beginning of each of the processes.

This is the Parent
<step action='Set Macro' type='0'>
<MacroEnvVar type='11'>-1</MacroEnvVar>
<MacroName>Temp</MacroName>
<MacroValue>c:\temp1</MacroValue>
<indent type='3'>1</indent>
<name> Temp1</name>
</step>


This is one of the children
<step action='Set Macro' type='0'>
<MacroEnvVar type='11'>-1</MacroEnvVar>
<MacroName>Temp</MacroName>
<MacroValue>c:\temp3</MacroValue>
<indent type='3'>1</indent>
<name> Temp3</name>
</step>

This does not change the command line output for the child processes.....

Command-Line: "c:\vb6.exe" /m "o:\Server\tmp~~AegisCAD.vbp" /out c:\temp1\vsmake.err

The end result is this........
Unable to open file c:\temp1\vsmake.err: The process cannot access the file because it is being used by another process.

Please let me know if there is anything I can do to get around this.

Thanks a lot for the help.
Reply With Quote
  #4  
Old 04-28-2004, 11:07 AM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,034
It turns out that the method used by the Make VB6 action to retrieve the TEMP path did not reflect changes made after the process had started. Here is a test version that uses a unique temp filename for the VB6 error file for each build: http://www.kinook.com/Download/VisBuildMS.zip

Unzip to your VisBuildPro install path. You shouldn't need to update the TEMP variable now.
Reply With Quote
  #5  
Old 04-28-2004, 11:46 AM
FeedMe FeedMe is online now
Registered User
 
Join Date: 08-21-2003
Posts: 6
Thumbs up Fantastic!

You guys are the best, it works like a champ.
You just helped me cut my build time in half. (the new dual cpu box helped a little too )

Thanks for the fast response.
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -5. The time now is 07:22 PM.


Copyright © 1999-2023 Kinook Software, Inc.