>>Working on an application made up of many projects. Instead of each project having the same set of class libraries, the class libraries were broken out into its own project. When the application is started the following statement sets the classlib path:
>>
>>lcpath='C:\temp\'
>>lcClass='C:\temp\classlib'
>>lcclassname='INICLASS'
>>
>>SET CLASSLIB TO (lcpath+lcclassname) IN (lcClass) ADDITIVE
>>
>>
>>The only way the application works is if the exes are built into the final destination. If the exes are built to c:\temp\ then installed to d:\destination\ the application does not work. The error says it can not instantiate the class.
>>
>Absolutely, but you need to make the directory part of the search path and not use absolute file references. IOW, make sure the folder containing your .VCX/VCT files are in the current path as set by SET PATH, and then omit the IN clause. The IN clause is only needed when you are referencing a class library embedded in another .APP or .EXE, so once having done your SET PATH
>
>SET CLASSLIB TO (
library name in a string, no path, no extension) ADDITIVE
>
>would handle the whole thing.
>
>>Summary: If the class libraries are separated into their own exe and acceses via SET CLASSLIB statement, can the application be installed to a directory different from where is was compiled?
To clarify, the class library is embedded in another .EXE.
The other projects have referenence to that class library, but it is marked as excluded.
"The most beautiful experience we can have is the mysterious ; it is the fundamental emotion which stands at the cradle of true art and true science." - Albert Einstein