Jump to content
alank2

Trying to install ICS 858 on C++ Builder Rio 10.3.1

Recommended Posts

The issue I run into is that if I launch C++ Builder and then open D103Install.groupproj, it says:

 

The project can not be loaded becuase the required personality Delphi.Personality is not available.

 

If I close C++ Builder and launch RAD Studio instead which has both personalities, I can proceed through the readme installation notes. The issue is that it only installs for the Delphi personality.

 

If I do a new project for Delphi, the "Overbyte ICS" components are available, but if I do a new project for C++ Builder, they are not...

 

Any ideas?

Share this post


Link to post

It looks like I'm opening the Delphi file by mistake.  I'll try the CB103InstallVclFmx.groupproj instead.

Share this post


Link to post
12 minutes ago, alank2 said:

It looks like I'm opening the Delphi file by mistake.  I'll try the CB103InstallVclFmx.groupproj instead. 

The prefixes suggest that possibility very strongly :classic_cool:

Share this post


Link to post

Indeed!  🙂

 

Now the issue is that I am getting this error while trying to build IcsCommonCB103Run.bpl:

 

[DCC Fatal Error] File not found: "false.dpr"

 

Any thoughts on this?

 

(I also found and tried v859, same error)

Edited by alank2

Share this post


Link to post

I found that if you edit the cbproj files and change the tag DCC_DebugInformation from false to 0 that you can get by the false.dpr error.

 

I still can't install the common however, it builds ok, but says it can't load package with the filename, but the filename does exist.

 

Also, some of the files contain references to 102, not 103.

 

icsfmxcb103run.cpp

icsvslcb103run.cpp

Share this post


Link to post

Here are the ICS file changes that need to be made (for someone who knows how to do this):

 

notepad edit packages\IcsFmxCB103Run.cpp
  replace two occurences of 102 with 103

 

notepad edit packages\IcsVclCB103Run.cpp
  replace two occurences of 102 with 103

 

notepad edit IcsCommonCB103Design.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with

    <DCC_DebugInformation>0</DCC_DebugInformation>

 

notepad edit IcsCommonCB103Run.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with
    <DCC_DebugInformation>0</DCC_DebugInformation>

 

notepad edit IcsFmxCB103Design.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with
    <DCC_DebugInformation>0</DCC_DebugInformation>

 

notepad edit IcsFmxCB103Run.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with
    <DCC_DebugInformation>0</DCC_DebugInformation>

 

notepad edit IcsVclCB103Design.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with
    <DCC_DebugInformation>0</DCC_DebugInformation>

 

notepad edit IcsVclCB103Run.cbproj
  replace
    <DCC_DebugInformation>false</DCC_DebugInformation>
  with
    <DCC_DebugInformation>0</DCC_DebugInformation>

 

 

The installation instructions need this to be added in the readme:

 

The Embarcadero installation adds this to the system path:

  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl

This however does not allow Win32 packages to be installed, to do that you need to add this path to the system path (win10=Start, Edit the system environment variables, Environment variables, System variables, Path, Edit, New:)

  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win32
 

 

How I installed it (since ICS does not currently have the above changes):

Extract ICS.

Make all the file corrections above.

Add C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win32 to the system path.

Follow the rest of the readme instructions.

 


NEW projects that need to use ICS:

include path:
  add {THE DIR YOU EXTRACTED ICS To}\source\include\103\win32

library path
  add C:\Users\Public\Documents\Embarcadero\Studio\20.0\BPL\Win32

 

Share this post


Link to post

That looks like tedious work, how come that has not been done on the distributors side, or why is it undocumented?

Share this post


Link to post
12 minutes ago, Sherlock said:

That looks like tedious work, how come that has not been done on the distributors side, or why is it undocumented?

Because ICS is entirely supported by volunteers, and none of us understand C++.  It would be far easier to cease support for C++. 

 

I've asked for assistance in producing C++ packages in the past, and one user kindly supplied some mostly working stuff, for 10.2 which I modified for 10.3, so renaming errors are mine.  But when I can not build the packages and no-one else helps, errors are inevitable. 

 

So will some-one please email me a complete working set of 10.3 C++ package files, with whatevery changes are needed for the readme, and they will be placed in the distribution.  I'm not going to work from a list of instructions I can not test. 

 

Angus

  • Like 2

Share this post


Link to post

Angus,

 

I appreciate the work everyone does on this.  My instructions above should be plenty for you to make the corrections, but if you would like me to make them and submit to you a zip with only the files changed, I can do that.  The step above about replacing false with 0 might apply to other cbproj files besides 10.3 as well, so I can do a search to identify them and fix them as well.  PM me your email address.

 

Thanks,

 

Alan

 

  • Like 1

Share this post


Link to post

Angus,

 

Check out this page here:

https://wiert.me/2013/11/20/when-the-delphi-xe5-commandline-compiler-fails-with/

 

When I do a search on the ICS 8.59 files for <DCC_DebugInformation>false</DCC_DebugInformation>, I get 88 files returned (all CBPROJ and DPROJ files).

 

If I search for <DCC_DebugInformation>true</DCC_DebugInformation>, I get OverbyteIcsD2009Design.dproj and OverbyteIcsD2009Run.dproj.  This is probably a mistake and these should be like the rest.

 

On the page above, it mentions that "As of Delphi XE5, these values can only be 0, 1 or 2: ", but perhaps false or true is still tolerated in even modern Delphi compilers (or everyone would be having this issue).

 

What do you want me to do?  I can modify it in all the CBPROJ files and zip/attach them and leave the DPROJ files alone.  Or I can fix it in all of them.

 

Thanks,

 

Alan

Share this post


Link to post

Any follow up on this - it would be nice to get these changes in so others won't have trouble.

Share this post


Link to post

Sorry, been busy doing too many other things this week.

 

When I add new units to ICS, I have to update literally hundreds of package files for all the old Delphi versions we support.  A few I might fire up that version of that Delphi, but it takes days to do that for all old versions so mostly it's a text editor job. 

 

But currently the old C++ packages are untouched, and I suspect they will no longer build anyway, at least not without lots of errors.  So I'll remove all old C++ files from the distribution, and going forward we'll just support 10.2 and later.  If someone needs support for C++ XEx, they will be better working from a newer version than an older version.

 

My email address is in the readme8.txt file.

 

Angus

 

  • Sad 1

Share this post


Link to post

Hi Angus,

 

I would appeal that you leave the old C++ files if you can.  I will edit all of them to make the changes above and submit them to you via email on Monday or Tuesday.

 

Thanks!

 

Alan

 

  • Thanks 1

Share this post


Link to post

What use are the old C++ package files if they do not contain all the units necessary to build the package, as required by the registration unit?

 

Angus 

Share this post


Link to post

If you don't think they are useful to keep then I understand; for me it seems I am always needing something that is older.

 

Do you want me to just update the 10.2 and 10.3 ones then?

Share this post


Link to post

I know that people still use Delphi 7 onwards, because they tell me when I make changes that are not Delphi 7 compatible, I use Delphi 2007 for most of my applications so I don't add language features from newer versions. 

 

But I can not recall anyone asking about old C++ versions for years, only the most recent versions, and they used to be told to lry the last XE3 package.  So unless you can test at least the OverbyteIcsCBXe3Run package, I don't see any point in pretending it's worthwhile.  I'll archive the old C++ files somewhere, so they are not lost.  

 

Angus

 

Share this post


Link to post

I still use C++ Builder 6 for some things (with ICS 5), but I missed a lot of upgrades/versions since a couple of years ago.

 

Some of the components have issues in 10.3 as well, I think the THttpServer has errors if I add it to a form and try to compile.

 

Let's begin with the fixes I mention above and I'll see what else I can figure out.

  • Like 1

Share this post


Link to post
18 hours ago, Angus Robertson said:

When I add new units to ICS, I have to update literally hundreds of package files for all the old Delphi versions we support.  A few I might fire up that version of that Delphi, but it takes days to do that for all old versions so mostly it's a text editor job. 

Indy has a similar issue, having dozens of packages that have to be updated whenever units are added/removed, and new packages that have to be created when new compilers are released. To help with this task, we created an internal project that has a database of active units and flags to dictate their behavior, and it can generate the various package files, resource files, etc for each compiler version we support. This way, when we do make changes to the units, we simply update the database and regenerate the packages. And when a new compiler is released, we can generate new package files for it.

18 hours ago, Angus Robertson said:

But currently the old C++ packages are untouched, and I suspect they will no longer build anyway, at least not without lots of errors.  So I'll remove all old C++ files from the distribution, and going forward we'll just support 10.2 and later.  If someone needs support for C++ XEx, they will be better working from a newer version than an older version.

Indy works in C++Builder, but doesn't have any C++ project files, only Delphi project files.  For C++, we simply compile the Delphi projects configured with C++ output enabled.

Share this post


Link to post
13 hours ago, Remy Lebeau said:

we created an internal project that has a database of active units and flags to dictate their behavior, and it can generate the various package files, resource files, etc for each compiler version we support.

Every time I do a set of updates, I think it's time to automate the process, but at that moment I'm not usually planning any more major changes, so leave it for another day. Fortunately ther RAD Studio release cycle has slowed from twice a year, so less urgent now. 

 

Angus

Share this post


Link to post

We still use Borland C++ 2007,  I've been maintaining a list of mods I have to do to get ICS to build and it is growing.  Though I've got stuck on anything newer than ICS 8.47 - I'll start a new thread for that though.   

 

So please don't remove the old C++ files.   I'll happily list my mods when I've a working set again

Share this post


Link to post

Is there any chance of getting an estimate about when the corrected Delphi 10.3 files might become available?  Could some notice be placed on the main page when that work has been done? 

I have migrated all my apps from 10.2 to 10.3 except those that use ICS and I'd like to uninstall 10.2 on my laptop before moving it to 10.3 also, but I cannot do that yet without ICS.  It sounds like there is enough information available for me to make the edits myself, but it also seems that others are far more familiar with what is really needed and might have the work nearly done already.

Share this post


Link to post

Sorry I haven't had to chance to send them to Angus yet.  Will try tomorrow.

Share this post


Link to post

Angus - I emailed the files to you.  Don't forget the instructions too:

 

The installation instructions need this to be added in the readme:

 

The Embarcadero installation adds this to the system path:

  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl

This however does not allow Win32 packages to be installed, to do that you need to add this path to the system path (win10=Start, Edit the system environment variables, Environment variables, System variables, Path, Edit, New:)

  C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win32
 

 

NEW projects that need to use ICS:

include path:

  add {THE DIR YOU EXTRACTED ICS To}\source\include\103\win32

library path
  add C:\Users\Public\Documents\Embarcadero\Studio\20.0\BPL\Win32

  • Like 1
  • Thanks 1

Share this post


Link to post

Many thanks, uploaded to SVN, will be zipped overnight about 11pm.  The readme will be updated soon.

 

Angus

 

  • Like 1

Share this post


Link to post

I'm trying to update the new C++ packages for all the units added in V8.60, I thought successfully, except I'm unable to add DCR and PAS units with the same name to IcsVclBCB, I can add or the other, but get duplicate dialogs when added both together or one subsequently.  Yet the package already correctly contains PAS/DCRs for lots of other units.  Editing the XML manually is a pain due to the BuildOrder tag.

 

Amazingly, without the DCRs I have managed to build the C++ packages, after removing all Delphi packages. 

 

Angus

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×