Page 1 of 1

Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Apr 10, 2024 8:24 am
by 16494663
Hi

We have bought the source code and compiled and installed TeeChart successfully using the TeeRecompile utility.

A test delphi project builds ok.

I need to rebuild from the VCL packages because 1) it's part of our build process and 2) I want to produce the new Modern 64-bit libraries for use with the new C++ Builder compiler.

All the packages build OK except TeeUI929.bpl. where I get these errors:

[dcc32 Error] TeCanvas.pas(5979): E2010 Incompatible types: 'VCLTee.TeCanvas.TTeeCanvas' and 'TeCanvas.TTeeCanvas'
[dcc32 Error] TeCanvas.pas(8745): E2010 Incompatible types: 'TTeeCanvas' and 'TTeeCanvas3D'
[dcc32 Fatal Error] TeeGDIPlus.pas(293): F2063 Could not compile used unit 'TeCanvas.pas'

This happens if I'm building the 32 bit or 64-bit (Modern) target. I have folowed the advice elsewhere on this forum about setting paths and VCLTee is in the unit scope name, but this error persists.

How do I overcome this?

Andy

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Apr 10, 2024 1:22 pm
by 16494663
In the end I gave up with the IDE, took the Verbose output from the TeeRecompile.exe and built a batch file with the commands adjusted to look at and save files to win64x instead of win64 and added -JF:COFFI to the end of each build command.

This built the 64 bit .lib files needed by C++ Builder's new 64 bit compiler and my test C++ project builds and runs properly, so it looks good.

The command issued by the IDE to build the packages is massive compared to the one produced by TeeRecompile.exe and I'm thinking that there is a bad path or directive (or something else!) in the IDE generated command. It's not related to the new 64 bit output, because the 12.1 IDE cannot rebuild in 32 bit either.

As my batch file is reusable as part of a build, I'm not intending to figure out what was incorrect - I'm a C++ dev and not a Delphi expert - but will supply the IDE produced path if anyone at Steema wants to analyse it...

Andy

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Apr 10, 2024 1:43 pm
by yeray
Hello,

The lastest TeeChart release, v2023.39, was built before this new RAD update, so it still doesn't support the new compiler.
We are working on the new version which will support it.
I hope we can publish it later today or tomorrow.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Sun Jun 02, 2024 4:20 pm
by 16596746
I get the same error with build 2024.40. It works with the 64 bit version but not the 32 bit version.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Mon Jun 03, 2024 6:15 am
by yeray
Hello,

This error:
Incompatible types: 'VCLTee.TeCanvas.TTeeCanvas' and 'TeCanvas.TTeeCanvas'
Typically means the compiler finds the prefixed unit (VCLTee.*) but can't identify it correctly.
To solve it, you can add the VCLTee prefix to the "unit scope names" in the options.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 05, 2024 6:02 am
by 16596746
Thanks. It was already in the unit scope field. Do you have any other suggestions? I am able to compile 64-bit applications but not 32-bit ones.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 05, 2024 10:03 am
by yeray
Hello,

Note there's a "unit scope names" section for every platform. Please double check you have the "VCLTee" prefix in the "unit scope names" for the "Windows 32-bit" platform.

Also check the library path is correct. Ie, it may contain a reference to the "Source" path, where it should be "Source\VCL"

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Tue Jun 11, 2024 3:46 pm
by 16588751
I'm getting the same problem compiling for win32 in Windows 10 in Delphi 12.1 Patch 1; win32 compilation in Windows 11 works normally. Putting 'VCLTree' in Options Unit Scope Names makes no difference. The library paths in both W10 and W11 installations are identical:

E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code 2024.40\Compiled\Delphi29.win32\Lib
E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code 2024.40\TeeTree\Compiled\Delphi29.win32\Lib

I'm not sure it's relevant, but the bpl paths shown in the IDE in Design Packages are weird though e.g for the VCL components:

E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code
2024.40\Source\..\Compiled\Delphi29.win32\Bin\DclTeePro929.bpl

although there is no 'Compiled' sub-folder in the 'Source' folder visible in Windows Explorer . However, the components are shown correctly. Is that a bug in the IDE? If not, I must be missing something?

Any ideas?
Andrew

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 12, 2024 7:52 am
by yeray
Hello,
wasowerby wrote:
Tue Jun 11, 2024 3:46 pm
I'm getting the same problem compiling for win32 in Windows 10 in Delphi 12.1 Patch 1; win32 compilation in Windows 11 works normally.
We may be mixing slightly different problems in this thread. Could you please post the exact error message you are getting?
wasowerby wrote:
Tue Jun 11, 2024 3:46 pm
I'm not sure it's relevant, but the bpl paths shown in the IDE in Design Packages are weird though e.g for the VCL components:

E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code
2024.40\Source\..\Compiled\Delphi29.win32\Bin\DclTeePro929.bpl

although there is no 'Compiled' sub-folder in the 'Source' folder visible in Windows Explorer . However, the components are shown correctly. Is that a bug in the IDE? If not, I must be missing something?
Note the \..\ in the path. So the Compiled folder should exist in the "Steema TeeChart Pro VCL FMX Source Code
2024.40" folder. Could you check it?
If the package is listed in the list of packages, it means the IDE found it. So I assume it's there and the problem is elsewhere.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 12, 2024 8:44 am
by 16588751
[dcc32 Error] TeCanvas.pas(5979): E2010 Incompatible types: 'VCLTee.TeCanvas.TTeeCanvas' and 'TeCanvas.TTeeCanvas'
[dcc32 Error] TeCanvas.pas(8745): E2010 Incompatible types: 'TTeeCanvas' and 'TTeeCanvas3D'
[dcc32 Fatal Error] TeeGDIPlus.pas(293): F2063 Could not compile used unit 'TeCanvas.pas'

This happens if I'm building the 32 bit target.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 12, 2024 8:59 am
by 16588751
The code pointed to is in TeCanvas.pas:

Code: Select all

Procedure TTeeCanvas.TextOut(const X,Y:TCoordinate; const Text:String; AllowHtml:Boolean);
begin
  if AllowHtml then
     HtmlTextOut(Self,{$IFDEF FMX}Round{$ENDIF}(X),{$IFDEF FMX}Round{$ENDIF}(Y),Text)  <---------- Error
  else
     TextOut(X,Y,Text);
end;

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 12, 2024 9:20 am
by yeray
Hello,

This is when building your project, not at TeeRecompile, isn't it?
If so, this happens because the IDE is finding the not prefixed version of the unit (TeCanvas.pas) before finding the prefixed version of the unit (VCLTee.TeCanvas.pas).

Does it happen in a new simple project? Check the paths in the IDE.
viewtopic.php?f=3&t=15512

Does it work compile fine in a new simple project, but not in an old project? Check the paths in the project options.

Re: Cannot Rebuild TeeChart in RAD Studio 12.1 VCL

Posted: Wed Jun 12, 2024 3:17 pm
by 16588751
Ok, found the problem in Tools>Options>Environment Variables, Changed the User System Overrides TEESRCPATH variable as follows:

E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code 2024.40\Source
to:
E:\Steema Software\Steema TeeChart Pro VCL FMX Source Code 2024.40\Source\VCL

This variable isn't included in the Windows 11 installation, which explains why the problem didn't occur in that OS. I think you mentioned this path issue in a previous message in this thread.

Thanks for your help.