Version 2012.07 with source

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
Fredrik
Newbie
Newbie
Posts: 3
Joined: Thu Jan 10, 2013 12:00 am

Version 2012.07 with source

Post by Fredrik » Fri Jan 11, 2013 10:37 am

Hi!

I have just bought an upgrade from v8 to v2012.07 and tries to upgrade my projects with it (and XE3) but it seems like the source code version is missing som files.

1.
TeeHtml.pas has det following constructs
{$IFDEF D17}
VCLTee.TeCanvas
{$ELSE}
TeCanvas

I can not find the file VCLTee.TeCanvas but chaning it to only TeCanvas seems to work. Is this correct?

2.
The follwing files used by FMXTee.Editor.Series seems to be missing completly?
FMX.Types, FMX.Controls, FMX.Forms,
FMX.ListBox, FMX.Edit, FMX.Dialogs, FMX.Objects, FMX.TabControl
Can I get those (could be more but here is where I got stuck) or have I missunderstod something?

The reason for bying the sourcecode version is that we have hade to modify the Delphi standard VCL files and without these source files it will not compile.

regards
/Fredrik

Yeray
Site Admin
Site Admin
Posts: 9602
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Version 2012.07 with source

Post by Yeray » Mon Jan 14, 2013 4:11 pm

Hi Fredrik,
Fredrik wrote:1.
TeeHtml.pas has det following constructs
{$IFDEF D17}
VCLTee.TeCanvas
{$ELSE}
TeCanvas

I can not find the file VCLTee.TeCanvas but chaning it to only TeCanvas seems to work. Is this correct?
Are you running TeeRecompile to build the TeeChart sources?
You should find TeCanvas.pas in the "Sources" folder of your TeeChart v2012.07 SourceCode version installation. And TeeRecompile should do the following for you:
  • Create VCLTee.TeCanvas.pas in "Sources\VCL" and FMXTee.Canvas.pas in "Sources\FMX". These files are equal to the initial TeCanvas.pas except on the file name and the unit name (inside the files).
  • Generate the VCLTee.TeCanvas.dcu when compiling the sources in "Sources\Compiled\Delphi17.win32\Lib" and "Sources\Compiled\Delphi17.win64\Lib".
  • Generate the VCLTee.TeCanvas.hpp when compiling the sources in "Sources\Compiled\Delphi17.win32\Include" and "Sources\Compiled\Delphi17.win64\Include".
  • Generate the FMXTee.Canvas.dcu when compiling the sources in "Sources\Compiled\Delphi17.osx32\Lib", "Sources\Compiled\Delphi17.win32\Lib" and "Sources\Compiled\Delphi17.win64\Lib".
  • Generate the FMXTee.Canvas.hpp when compiling the sources in "Sources\Compiled\Delphi17.osx32\Include", "Sources\Compiled\Delphi17.win32\Include" and "Sources\Compiled\Delphi17.win64\Include".
Fredrik wrote:2.
The follwing files used by FMXTee.Editor.Series seems to be missing completly?
FMX.Types, FMX.Controls, FMX.Forms,
FMX.ListBox, FMX.Edit, FMX.Dialogs, FMX.Objects, FMX.TabControl
Can I get those (could be more but here is where I got stuck) or have I missunderstod something?
These files are shipped with the IDE. Can't you find them in the following locations?
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\osx32\debug
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\osx32\release
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win32\debug
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win32\release
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win64\debug
  • C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win64\release
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

Fredrik
Newbie
Newbie
Posts: 3
Joined: Thu Jan 10, 2013 12:00 am

Re: Version 2012.07 with source

Post by Fredrik » Tue Jan 15, 2013 8:09 am

Hi!

Ok, now I feels like I'am begining to somewhat understand this.

I had not run TeeRecompile.exe and if i do I get 3 sub directories under sources. FMX,FMI and VCL.
My initial thought is then that I should point (I use the search path function in delphi) my delphi project to the new VCL directory since its an old vcl forms project?
But when I do most of the TeeChar files complains about missing files since your source dosent seem to reference the vcltee name space.

Example from vcl.teeseries

{$IFDEF FMX}
FMXTee.Chart, FMXTee.Engine, FMXTee.Canvas, FMXTee.Procs

{$IFNDEF TEELITEEMB}
, FMXTee.Series.Spline
{$ENDIF}

{$ELSE}
TeEngine, Chart, TeCanvas, TeeProcs, TeeSpline
{$ENDIF} ;

So, then I'am back to somewhat confuesed, should I somehow merge the main source folder and the new vcl folder to get a working source folder like I hade in TeeChars version 8 or have I missed something more?

regards
/Fredrik

Yeray
Site Admin
Site Admin
Posts: 9602
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Version 2012.07 with source

Post by Yeray » Wed Jan 16, 2013 12:04 pm

Hi Fredrik,
Fredrik wrote:I had not run TeeRecompile.exe and if i do I get 3 sub directories under sources. FMX,FMI and VCL.
My initial thought is then that I should point (I use the search path function in delphi) my delphi project to the new VCL directory since its an old vcl forms project?
Right. You could either point your project's Search Path or your IDE Library Path to the VCL directory of you want to use the sources.
If you prefer to use the compiled units, you should point to the "Compiled\Delphi17.win32\Lib" folder.
Note we use to recommend to check the Teechart references are on the top of the Library/search path lists.
Fredrik wrote:But when I do most of the TeeChar files complains about missing files since your source dosent seem to reference the vcltee name space.
This is because the old projects are looking for non scoped units and with XE2 we had to add the VCLTee/FMXTee prefixes.
To make your project compile in XE3, you can either:
- Edit your project's units and change the references, adding the according prefixes manually.
- Add VCLTee at "Tools->Options->Environment Options->Delphi Options->Library->Unit scope names" to let the IDE add the prefixes for you.

http://docwiki.embarcadero.com/RADStudi ... cope_Names
http://docwiki.embarcadero.com/RADStudi ... i_Compiler
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

Fredrik
Newbie
Newbie
Posts: 3
Joined: Thu Jan 10, 2013 12:00 am

Re: Version 2012.07 with source

Post by Fredrik » Thu Jan 17, 2013 9:42 am

Hi!

I dont think you fully understand the problem since I have changed all the references to point to the units prefixed with VCLTee but what I can
see is that the internal unit references in your files is not prefixed.

Example:

unit VCLTee.TeEngine;

{$IFDEF FMX}
FMXTee.Procs, FMXTee.Canvas
{$ELSE}
TeeProcs, TeCanvas
{$ENDIF};

if I change it to the following it will compile and it will then complain on the next of your units.

{$IFDEF FMX}
FMXTee.Procs, FMXTee.Canvas
{$ELSE}
VClTee.TeeProcs,VClTee.TeCanvas
{$ENDIF};

I can solve it by using Unit scope names but it it seems however not able to cope with the type of constructs below so there I have to change it manually in your source.
result:={$IFDEF FMX}FMXTee.Procs{$ELSE}TeeProcs{$ENDIF}.GetDefaultColor(Index);

So do I really have do to all this or should not your tool that create the VCL source folder add the unit prefixes in all of your units?

regards
/Fredrik

Yeray
Site Admin
Site Admin
Posts: 9602
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Version 2012.07 with source

Post by Yeray » Fri Jan 18, 2013 4:30 pm

Hi Fredrik,

I've made some tests. I think explaining them will put some light on this.
I've created a simple Delphi 7 project, with just a chart and a Bar series. Here it is:
SimpleBar - D7.zip
(1.46 KiB) Downloaded 380 times
Here is how I have RAD XE3 paths, using the compiled packages generated by TeeRecompile:

- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 32-bit Windows\Library path":
$(TeeInstall)\Sources\Compiled\Delphi17.win32\Lib
- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 32-bit Windows\Debug DCU path":
$(TeeInstall)\Sources\Compiled\Delphi17.win32\Lib

- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 64-bit Windows\Library path":
$(TeeInstall)\Sources\Compiled\Delphi17.win64\Lib
- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 64-bit Windows\Debug DCU path":
$(TeeInstall)\Sources\Compiled\Delphi17.win64\Lib

Note:
- The references above are on the top of the respective lists.
- Thre's no other TeeChart reference in the other lists.
- $(TeeInstall) is an Environment Variable ("Tools\Options...\Environment Options\Environment Variables\User overrides") that points to the TeeChart v2012.07 with Sources installation path: "C:\Program Files (x86)\Steema Software\TeeChart Pro 2012 Full Source Code"

With the configuration above, if I create a new VCL project and add a TChart to the form, the units added to the project contain the VCLTee prefix: VCLTee.TeEngine, VCLTee.TeeProcs, VCLTee.Chart.
With the configuration above, if I open the Delphi 7 project above, where the TeeChart units don't have the VCLTee prefix (and neither do the other non-TeeChart units) the project doesn't compile. But if I add the VCLTee prefix to the "Tools->Options->Environment Options->Delphi Options->Library->Unit scope names", it works fine both in 32bit ant 64bit.

----------------------------------

Now, if you want to directly use the sources instead of the compiled units generated by TeeRecompile, here is how the paths in your IDE should look like:

- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 32-bit Windows\Library path":
$(TeeInstall)\Sources\VCL
- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 32-bit Windows\Debug DCU path":
$(TeeInstall)\Sources\VCL

- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 64-bit Windows\Library path":
$(TeeInstall)\Sources\VCL
- At "Tools\Options...\Environment Options\Delphi Options\Selected Platform 64-bit Windows\Debug DCU path":
$(TeeInstall)\Sources\VCL

Here, in a new simple application I had to add the the VCLTee prefix to the "Tools->Options->Environment Options->Delphi Options->Library->Unit scope names" to make it work. Otherwise I got an error similar to the one you pointed in the opening post in this thread.
Then both the new simple project and the Delphi 7 project worked without problems.
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

Post Reply