#1
|
|||
|
|||
VB6 Make Errors
We have some projects that do numerous VB6 makes. After upgrading from 5.7 to 6.0, errors are now being reported even though the targets actually do build.
Here is an example of what the errors look like: not updating compatibility dir, existing setting not found...not setting base address (does not apply for project type)...incrementing version...building (reference file '\\ntsrvr01\qssvb\DEVELOPMENT OASIS\GUIProduction\QSSSocketManager.dll' newer than target)... Command-Line: "c:\program files\microsoft visual studio\vb98\vb6.exe" /m c:\qssvb\level2\dll\QSSJobMenu\tmp~~QSSJobMenu.vbp /out Unable to open file : The system cannot find the path specified. We aren't quite sure what the file it is trying to open is referring to but suspected it had something to do with the /out being blank. Thanks in advance, Tim |
#2
|
|||
|
|||
Normally, the /out filename will be a temporary file (the name is generated using the GetTempPath and GetTempFileName APIs). In your case, these calls are apparently failing, resulting in an empty string for the output filename (which VBP reports when it can't read a file by that name after building [to log the file contents]).
Nothing has changed in VBP 6 regarding this action, so I suspect that either the error was occurring before and it wasn't noticed, or something changed on the box to cause the generation of a temporary filename to fail. I'm not sure what would cause that; you might make sure that the system TEMP environment variable exists and points to a valid path. |
#3
|
|||
|
|||
I've checked the TEMP variable and it returns the temp directory under the logged in users profile (our build account.) I can go to a cmd prompt and do a "cd %TEMP%" and it takes me to that directory.
There are a variety of recently created temp files, although none look like text output. I agree this may have been an existing problem. The recent upgrade I did on the build machine may have just induced enhanced scrutiny on the part of the builder. Where do I find the actual command that is being issued just to make sure the "/out" is followed by something (and what it is?) Thanks, Tim |
#4
|
|||
|
|||
That *is* the actual command (the /out isn't followed by anything, which is the problem). It's very odd because, again, the action simply uses Win32 APIs for obtaining a temporary path/filename. Can you send to support@kinook.com or post the info from Help | About | Install Info and the output when pasting the following steps before your Make VB6 step and building?
<step action='Log Message'> <Message>TEMP = '%TEMP%'</Message> <name>Log TEMP</name> </step> <step action='Log Message'> <Message>TMP = '%TMP%'</Message> <name>Log TMP</name> </step> |
#5
|
|||
|
|||
The info you requested was sent to the email address provided.
Thanks, Tim |
#6
|
|||
|
|||
This turned out to be caused by a bug in Windows 2000 (returns garbage from GetTempPath when passed a large buffer). The main download has been updated with a workaround. This issue could potentially affect several actions (Make VB6, Transform XML Log, ClearCase, Help & Manual, all networking actions).
|
|
|