Unresolved external Teengine

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
Fish
Newbie
Newbie
Posts: 5
Joined: Wed Jul 07, 2004 4:00 am
Location: Fredericksburg, VA
Contact:

Unresolved external Teengine

Post by Fish » Wed Jul 07, 2004 1:23 pm

With both version 6 and 7 of the VCL (i'm running builder C++ 6) i am getting a linker error

Unresolved external '__fastcall Teengine::

whenever I try and use (programmatically) any of the TLineSeries attributes. The code I'm using worked fine in Borland Builder 5 and version 5 of the library.

Alex
Newbie
Newbie
Posts: 10
Joined: Fri Nov 15, 2002 12:00 am

Post by Alex » Wed Jul 07, 2004 1:30 pm

Try writing next your #include :

#pragma link "TeeComma"

or Adding on

Tools -> Env. Options -> Library -> Browsing Path

the Lib directory of Teechart.

Fish
Newbie
Newbie
Posts: 5
Joined: Wed Jul 07, 2004 4:00 am
Location: Fredericksburg, VA
Contact:

Post by Fish » Wed Jul 07, 2004 1:38 pm

Thanks for the reply.

However, I have the library included in the path for libs. I also have the #pragma link "TeeComma". The Errors continue.

I'm gettting 5 linker errors, all of the form:

[Linker Error] Unresolved external '__fastcall Series::TSeriesPointer::SetVisible(bool)' referenced from D:\PROJECTS\CPP\SAD\DATAGRAPH.OBJ

If I get rid of the code:
LineSeries->Pointer->Visible = true;

I can remove one of the errors.

Pep
Site Admin
Site Admin
Posts: 3273
Joined: Fri Nov 14, 2003 5:00 am
Contact:

Post by Pep » Thu Jul 08, 2004 9:18 am

Hi Alex,

there are several possibilities:

1) if you converted from old project which was originally built with BCB5 and TC v5 then you have to check project group file if it really references correct packages (in your case Teechart v6 or v7 PRO for BCB6 packages). This can be easily done by manually editing project *.bpg file with simple ascii editor (Notepad should do the trick) and searching for all files which have Tee, Tee50 or Tee60 in their name. If you encounter any of these lib, bpl or bpi files, replace them with TeeChart v6 or v7 package names (Tee6C6, TeePRO6C6,TeeUI6C6, ...-> v6)

2) TeeChart v6 installation was not 100% successful. If you installed TeeChart by using binary installer then everything should work fine. But if you by any chance installed from source code, then most likely recompilation process was not successful and you ended up with mix of old and new files.
In this case the only solution is to first remove *all* old TeeChart files and then try to recompile/reinstall TeeChart from sources again.

Fish
Newbie
Newbie
Posts: 5
Joined: Wed Jul 07, 2004 4:00 am
Location: Fredericksburg, VA
Contact:

Post by Fish » Thu Jul 08, 2004 2:10 pm

Ok,

After erradicating all traces of previous versions from my system and re-installing version 7 (not without errors) I start a new project that only contains a tchart component and try and compile.

I now get a compiler error in TeeProcs.hpp :

'TTeeShadow' is not a member of 'Tecanvas'

I do not have source, binaries only.

Fish
Newbie
Newbie
Posts: 5
Joined: Wed Jul 07, 2004 4:00 am
Location: Fredericksburg, VA
Contact:

Post by Fish » Thu Jul 08, 2004 6:22 pm

After several hours of poking around I've discovered the following:

There were many Te*.hpp files hanging around in '\Cbuilder6\Include\Vcl'

aparently the wrong version. So I deleted them. Also.. Chart.hpp was in that directory, apparently the wrong version ... whacked.

There where some files in \cbuilder6\lib\obj that where leftovers from previous versions.

Once i rooted out all the old stuff, I can now compile and link again. I guess one of the older uninstallers didn't.

Pep
Site Admin
Site Admin
Posts: 3273
Joined: Fri Nov 14, 2003 5:00 am
Contact:

Post by Pep » Thu Jul 08, 2004 6:24 pm

Hi,

looks like BCB is somehow still referencing old hpp,obj,dcu,lib,bpi files. Try moving TeeChart v7 include and library paths to the first place in include and library path list.

How to locate old files ? Well, it's relatively "easy":
1) Go to TeeChart CBuilder6\ folder and make a list of all files in subfolders. These are the *new* files
2) Then search in following paths :
Program Files\Borland\CBuilder6\Lib
Program Files\Borland\CBuilder6\Lib\Obj
Program Files\Borland\CBuilder6\Include\Vcl
Program Files\Borland\CBuilder6\Bin
and Windows \System32\ (or \System) directory

for duplicate files (ignore the extension). If you find any files, more (or remove) them to \Backup\ directory.

Post Reply