>No, that doesn't work either, but I believe I figured out what the problem is and it was much more simple than I may have thought...now I just need to figure out how to fix it...
>
>I have an .EXE that calls the .APP. The .APP calls a method in an application object which then calls the do form. The problem is the application object resides as part of the .EXE's project and is instantiated from the .EXE. So when the .APP calls the method then the method is actually running in the .EXE not the .APP even though it is called from .APP. Since the forms are not included in the .EXE project that is what causes the file does not exist error.
>
>Now I just need to figure out how to fix it. I'd rather not duplicate the code for my custom method that starts the form in the .APP project, but it is looking like that is what will be necessary.
Since DO FORM doesn't support an IN clause, about the only way I can figure you could do it is to have the app object call back into the .APP to actually do the DO FORM command, so it can find the forms. I used to have a similar arrangement, but each APP was responsible for starting it's own forms. There was no application object involved with the forms, the APPs dealt with the forms themselves.
Maybe something like this from your app object:
DO formstart WITH "formname" IN your.APP
*your.APP
PROCEDURE FormStart
LPARAMETER cFormName
DO FORM (cFormName)
You don't need to have a big case statement, just a single line using name substitution () should work.