I wanted to upgrade to RAD 12. I installed RAD12 (chose migrate option for version update). I Uninstalled RAD11. I installed TMS software again (it asked to remove old, yes, then installed new and compiled with 12).
RAD12 opened fine, so I then opened the c++ project I use it with. I opened fine, all looks fine. choose option to build and it started coming up with a bunch of can't find component xyz .. alot from fastreports, but think there were a couple from TMS. I choose remove (I figured it must be old version) on the dialog. It then compiled everything but on link getting "Fatal: Unable to open file 'VRCONTROLS.OBJ' which I think is the TMS items.
It seems like something didn't get updated somewhere, any idea what I'm supposed to do, should I reinstall TMS again? Do I have to change something in my project? I'm fairly new to the Delphi/C++Builder products and this is the first upgrade I've ever done.
Can you verify your project isn't linking with a TMS Instrumentation Package with suffix DXE14 anymore and if so, replace this with the package with DXE15 suffix?
I manually went in to the .cbproj file and did a search/replace on DXE14 to DXE15 and there were 9 changes. I then opened the project, ran a "build" again, but got the same error.
12/04/2023 07:18 PM 111,104 TMSVCLIWPkgDEDXE15.bpl
12/04/2023 07:18 PM 1,057,792 TMSVCLIWPkgDXE15.bpl
12/04/2023 07:17 PM 1,819,136 TMSVCLUIPackPkgDEDXE15.bpl
12/04/2023 07:16 PM 17,593,856 TMSVCLUIPackPkgDXE15.bpl
12/04/2023 07:16 PM 20,090 TMSVCLUIPackPkgDXE15.rsm
12/04/2023 07:17 PM 10,807,296 TMSVCLUIPackPkgExDXE15.bpl
12/04/2023 07:17 PM 1,165,312 TMSVCLUIPackPkgWizDXE15.bpl
12/04/2023 07:17 PM 934,400 TMSVCLUIPackPkgXlsDXE15.bpl
Linking is done with the .lib (Win32) or .a (Win64) files
Did you test if using the controls in a new app is working?
In the UI / Design View - the indicator shows (LED).
I tried building the x64 version to see what that would do and I get same issue:
Fatal: Unable to open file 'VRCONTROLS.O'
The 32bit version was 'VRCONTROLS.OBJ'
I'm not using the classic C++ compiler, it's building using bcc64 and bcc32c
But do you link with TMSVCLIWDXE15.a?
How do I tell, I didn't do anything other than do the upgrade process mentioned. Install 12, uninstall 11, install the latest tms versions (which uninstalled old first).
I then when in to the project and changed DXE14 to DXE15 per your instructions.
I know they did a bunch of changes to the C++ in 12, maybe something there or something in the build?
But first, where do I check what it is linking with?
I looked in options paths, I found it had the old paths builder11 (which doesn't exist) (without the environment variable) which I removed, but didn't change anything. (the builder12 items were there with ($TMSREG)
I had an issue yesterday that sounds a bit similar to yours in Delphi. Component VRLED caused the error of missing some vr*.* file here when used on a new fresh Application also. I also did some un-/re-install of products before as part of installing D12 and removing D10.
The problem disappeared when at the end of all updating uninstalling and re-installing Instrumentation Workshop again as last product.
Not sure what the exact problem was - but it helped in my case...
I tried reinstalling all of them in the same order I originally installed them, VCLUI, VCL Instrumentation Workshop, advchart, but didn't change anything.
I also opened the .a file in the x64 version using 7-zip (has that feature), and there was a "vrControls.o" file. And from what I saw in the project, the case sensitive link was not enabled.
To begin with, does it work when you add the components to a new project?
I created a new project, put on the vrIndicator and a button. It compiled and ran ok (win32 debug version).
That indicates the issue is in your C++ project file.
You should adapt it to make it link to the Delphi 12 installed TMS Instrumentation Workshop.
How do I do that? I already changed the DXE14 to DXE15 via search/replace in the project file.
I'm not an expert in C++ project files.
If you cannot do this, just create a new project file and re-add the form files to this new project.
One thing I noticed in the list when opening the > is that the only .lib files listed from TMS are:
But not sure where those are listed/added for the others ?
I searched the .cproj file for those and found them, added ;TMSVCLIWPkgDXE15.lib to each place that was found, now it builds.
Not sure how that went missing?
C++Builder itself will not automatically update such package references.
This always needs to be done manually.