Date:  05/02/2002 06:12:49 PM Msg ID:  000605
From:  FoxWeb Support Thread:  000602
Subject:  Re: calling function in different directory
This is not a FoxWeb-specific problem, but rather a VFP nuisance.  You can call procedures in another directory with the DO statement by including a full path name, but you cannot do this if you are trying to receive results from a function:
 
* Valid call:
DO c:\fooBar\htmlHeader
* The following returns an error:
MyVar = c:\fooBar\htmlHeader()
 
You can work around the problem by including all your utility functions in a single PRG file and using the SET PROCEDURE TO PrgFile command.  This will allow you to call a function without having to specify a path:
 
SET PROCEDURE TO c:\fooBar\htmlHeader.prg
MyVar = htmlHeader()
 
FoxWeb Support Team
support@foxweb.com
Sent by John Potter on 05/02/2002 07:24:50 AM:
Hello,
 
Calling a function is simple enough:
 
<%=htmlHeader()%>
 
Works like a champ. htmlHeader.prg is in the current directory.
 
Not so simple though when the function is in a different directory than the calling program. Say, the relative path to the function I want to call is '.\fooBar\'
 
 
 
<%=.\fooBar\htmlHeader()%>
 
I get the error message "Function name is missing )."
 
To make things more interesting, the relative path has to be contained in a variable. Thus, what I really want to do is something like this:
 
<%
m.path=".\fooBar\"
%>
 
<%=m.pathhtmlHeader()%>
 
or
 
<%=(m.path+"htmlHeader()")%>
 
Nothing seems to work.
 
I hope you can tell me what will work.
 
Thanks in advance.
 
John Potter