Date:  10/21/2014 10:29:14 AM Msg ID:  004732
From:  FoxWeb Support Thread:  004731
Subject:  Re: DO proc IN c:\\path\\to\\duplicate\\name.prg
Your observations are consistent with my past experience. The Visual FoxPro runtime dll gives precedence to already-loaded files with the same name as the program being called, even if you include the full path to the correct file in the DO command. My guess is that this is so that when you compile a bunch of PRGs into an EXE file (which would presumably use the runtime DLL to run), the PRG files will no longer be at their original locations and need to be located somehow. 
 
This behavior is not specific to FoxWeb, so there's no way for us to provide a fix. Unfortunately, I'm not aware of any work-arounds to this problem.
FoxWeb Support Team
support@foxweb.com email
Sent by Ted Taylor on 10/21/2014 07:44:33 AM:
 Hi,
 
I have FoxWeb 4.6.3 installed on Microsoft Windows Server 2008 R2 x64.
 
 
 
I have two files **with the same name** but in two different folders:
 
c:\a\ted.prg
c:\b\ted.prg
 
The pertinent contents of C:\a\ted.prg are:
.
.
.
DO tedproc IN c:\b\ted.prg
.
.
.
 
 
The pertinent contents of C:\b\ted.prg are:
.
.
DO tedproc
.
.
PROCEDURE tedproc
 
** some logic here that I do not want to replicate
 
RETURN 
.
.
.
 
 *** *** *** ***
 
When I place a check-mark beside " use run-time DLL " in the FoxWeb configuration, and I call http://myserver/cgi/foxweb.dll/c:/a/ted.prg , I get the following error:
 
There was an error during the interpretation of your request
 
Error #: 1162
Message: Procedure "TEDPROC" is not found
Program: c:\a\ted.fxp
 
 
 I assure you that everything is compiled ( I have c:\a\ted.fxp and c:\b\ted.fxp ).  I can directly call c:\b\ted.prg via a browser.
 
 
*** *** *** ***
 
If I install the full version of Microsoft Visual Foxpro 9 SP2 on the server, then  _clear_ the check-mark beside " use run-time DLL " and point FoxWeb to the correct vfp9.exe , then there is no error.  I can call http://myserver/cgi/foxweb.dll/c:/a/ted.prg successfully .
 
*** *** *** *** 
 
Testing indicates that the following conditions have to exist to expose this problem:
1. You must have two different files with the same name ( ted.prg ) in two different directories.
2. Same-name file # 1 must attempt to call a procedure in the same-name file # 2.
3. FoxWeb must be configured to use the run-time DLL.
 
eg, there is no problem if C:\a\ted.prg has the line " DO otherproc IN c:\b\ted2.prg " because the file names are different.
 
 
I have inherited the (rather large) FoxWeb application; it is not feasible in the short-term to change filenames so that they are globally unique.  I also do not with to install Microsoft Foxpro on our production servers.
 
Any ideas how to fix this so that I do not have to change the code, and I can use the run-time DLL ?  ( is there an update to the DLLs ? )
 
Thanks,
Ted.