With VCL components 18.104.22.168 and CBuilder++ 2010 When Building with runtime packages the applications hangs with access violation in startup code.
If you remove the packages tmsxlsd2010, tmswizd2010, tmsexd2010 and tmsd2010 from the package list, the application functions safelly.
Steps to reproduce:
Create a new VCL project.
Add a TADVSmoothLabel to it
Compile with runtime packages.
The application hangs with Access Violation in startup code.
Remove the references to the above packages in packages lib
Recompile and execute.
Applications functions without errors. The SmoothLabel shows good.
During installation proccess, TMs install packages not in default package folder but in BPL folder inside TMS installation path.
This path is included in the system path, but not inside the IDE path environment variable, if this variable was redefined in Options->Environment variables so application is unable to find bpl files (inside IDE) but find them correctly outside the IDE. That is why an access violation occurs in startup code (perhaps while loading package but no messages at all) if running inside the IDE but functions well standalone.
updating IDE Path environment variable to see in "Tms Installation Folder\Bpl" solves the issue.
Perhaps TMs Bpl files should be installed in default package folder or path, when redefined inside the IDE should be updated or an advertise should be included during installation progress..
I'm not sure I understand this. If the .BPL files are in the system path, any process should find them including your EXE that uses runtime packages.Our installer adds the folder where the .BPL files are to the system path. We'll try to reproduce this here nevertheless.
when you modify path value inside IDE int Options->environment variables, the IDE create a propietary path variable that is used inside de IDE not the system path.
This variable is stored in Registry under HKCU->Software->CodeGear->BDS->7.0->Environment Variables
This value is the path value IDE uses, not the system one. That is why, if you have this variable defined, then TMS software should modify this variable as it does with system path.
Another thing to take in mind : When IDE is debugging the application and the app fails to find a module, it should show a message or exception with the unable to load module or something like this. but it does not. The only effect you see is an Access violation error. and that is why i needed a week to find and fix this error.
¿A bug in IDE? Who Knows...
You're right that it should show a proper message but that is actually unfortunately a problem in C++Builder itself.