Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iw.Common.StrDictionary.hpp compiler error
#1
Hi,
I am trying to migrate my C++ Builder project (Embarcadero  RAD Studio XE3) from Intraweb XIV (14.0.52) to the new Intraweb release 15.3.10 but I got a compiler error in module IW.Common.StrDictionary.hpp:

__property LoadFactor = {read=GetLoadFactor}:

IW.Common.StrDictionary.hpp(91): E2024 Declaration terminated incorrectly

Can Anyone help to me ?

I thank you in advance.

Francesco Sgaravatti
Reply
#2
I've just created a new test case in C++Builder XE3 with IW 15.3.10 and it builds and works correctly.

Please make sure that you have both settings below as displayed (both should be false):

   

   

Then, make sure that in Tools -> Options -> C++ Builder Options -> Path and Directories, both System Include Path and Library Path settings, the new version IW 15.3.10 is the only one whose path appears in the list.

Paths of older versions in the list would likely create build or link errors.
Reply
#3
Hi,
I Thank you for your suggestion but those settings was already okay in my project.

I worked-around my problem commenting this instruction  (IW.Common.StrDictionary.hpp):
// __property LoadFactor = {read=GetLoadFactor}:
This seems to work, hopefully this doesnt mess with some other part of my application.

What do you think about this work-around ?

I encountered, and I solved,  another little problem of ambiguity:

E2015 Ambiguity between '_fastcall Soap::Encddecd:Big GrinecodeBase64(const System::AnsiStringT<0>) at c:\program files (x86)\embarcadero\rad studio\10.0\include\windows\rtl\Soap.EncdDecd.hpp:32' and '_fastcall Iw::Common::Systools:Big GrinecodeBase64(const System::UnicodeString) at C:\EmbarcaderoVcl\IntraWeb 15\LibXE3W32\IW.Common.SysTools.hpp:90'

With Best Regards
Francesco Sgaravatti
Reply
#4
This looks like a XE3 compiler or linker bug to me. As I said, I created a new XE3 project from scratch and built it linking with IW 15.3.10 and everything worked. No compilation issues.

Not exactly sure what is different or wrong in your application. What happens if you create a new application? Does it show the same issues?
Reply
#5
(08-01-2023, 09:55 PM)Alexandre Machado Wrote: This looks like a XE3 compiler or linker bug to me. As I said, I created a new XE3 project from scratch and built it linking with IW 15.3.10 and everything worked. No compilation issues.

Not exactly sure what is different or wrong in your application. What happens if you create a new application? Does it show the same issues?

I compiled two projects with XE3. The smallest project of these didn't give me any problems.
Reply
#6
That's weird. The StrDictionary is used in any IW application, regarldes of the features or components that you might add to it... So, if one project builds, any project should build.

C++Builder is a tricky IDE... sometimes the cproj file keeps some settings that don't work well (especially when migrating from an earlier version)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)