Hi Mark,
> All I want to do is invoke a function within a PRG file and get a value back.
VFP doesn't support specifying a program file in a function call. Function calls and procedure calls are very different in VFP. Function calls are slower, take more resources and use the cache in a different way than prgs. In your case, I'd add a dispatcher at the beginning of each PRG that receives a function identifier and parameters. In a DO CASE statement it could call the function and return the result in the second parameter.
--
Christof