Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
File locations /executable
Message
From
18/06/1997 15:12:00
 
 
To
18/06/1997 13:45:20
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00036780
Message ID:
00036856
Views:
47
>>>>>Likely a question with a simple answer, but I haven't yet found the answer: must the libraries for objects created at run time be distributed with the app? To create my application object from the startup program, there is obviously code that points to the vcx (on my workstation drive) to get the class from. This code creates an error when running the executable from the server because my drive is obviously not accessible from the server. Once past the 'invalid path' error, the app runs fine. My application object is the only instance created at run time, everything else in the program is compiled into the executable. How is this done?
>>>>
>>>>I assume you are building your application from a project, for starters. Anything included in the project, including visual class libraries, need not be distributed with the executable.
>>>>
>>>>What does your SET PATH TO statement look like? Is there a path or drive on it that cannot be resolved from the running machine?
>>>>
>>>>Also, you mentioned that the drive cannot be accessed from the server. Are you trying to run the application from a server? Windows applications need Registry modification (including indications of paths) to run properly. This implies a proper application installation on the machine that is running the program.
>>>
>>>I guess the problem might be originated from including path into SET CLASSLIB.
>>>Issue
>>>SET CLASSLIB TO MyVcx ADDITIVE
>>>without path (just library name) and it should work Ok without separate distributing.
>>
>>I think I see the strategy here, but what happens when a class in the main library is a subclass of a class in another library? Setting the library to the main still doesn't tell the program where the superclass is. Is the solution to put all classes and subclasses in the same library and make sure all references are to classes within?
>
>At least it will be orderly setting. Also, you could and should SET CLASSLIB TO all libraries using ADDITIVE clause.

I tried eliminating path names from the library references, and the program won't find any of them.

CD "f:\apps\atpedb"
*!* SET PATH TO ;DATA;INCLUDE;FORMS;GRAPHICS;HELP;LIBS;MENUS;PROGS;REPORTS;
lcLastSetClassLib=SET("CLASSLIB")

SET CLASSLIB TO "myclasses" ADDITIVE
SET CLASSLIB TO "atpelib" ADDITIVE
SET CLASSLIB TO "appwiz" ADDITIVE

This code produces the error: f:\apps\atpedb\atpelib.vcx not found
I believe that the only reason it doesn't get caught on the line before is that myclasses is already the main library. Changing the first line to CD "C:\atpedb" and uncommenting the SET PATH line works fine but produces an error when run on another machine from the server. What SHOULD my SET PATH TO statement look like?
Erik Moore
Clientelligence
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform