LoadMap XE7

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
CharlieHeaps
Newbie
Newbie
Posts: 5
Joined: Fri Apr 25, 2014 12:00 am

LoadMap XE7

Post by CharlieHeaps » Tue Dec 02, 2014 9:57 pm

I am trying to use the LoadMap function to load a shape file and DBF data using XE7 and TeeChartPro2014.

The function works just fine with the basic call LoadMap(MySeries,'MyShape.shp') but when I try and use the additional parameters that pass in a reference to a TDataset the program will not compile with message "No overloaded version of LoadMap"

I looked at the LoadMap code and the problem seems to be related to compiler directive NOUSEBDE being defined in XE7 which in turn causes Tdataset to be an empty class in TeeSHP. Specifically, in TeeShp there is this code:

{$IFDEF NOUSE_BDE}
type
TDataSet=class
end;
{$ENDIF}

To try and overcome this I have installed the BDE back into XE7 (even though I dont really want to use it). I tried commenting out NOUSEBDE for XE7 in TeeDefs.inc like this:

{$IFDEF D21}
{.$DEFINE NOUSE_BDE} // BDE is not available in XE7 and up (Win32 & Win64)
{$ENDIF}

But the result of doing that is that the package DCLTeePro921 will not compile. When using TeeRecompile I get this error: DclTeePro921.dpk(63) Error: E1033 Unit 'Bde.Bdeconst' implicitly imported into package 'DclTeePro921'

So...I have two basic questions:

1. Do you have any suggestions on how to proceed to get TeeChart to recompile AND reenable the us3e of BDE so that I can get the extended version of LoadMap to work?
2. Can I use the extended version of LoadMap with TDatasets even if I am NOT using the BDE. Pardon my ignorance but I thought that TDataset was NOT dependent on the existence of the BDE (or am I wrong).

CharlieHeaps
Newbie
Newbie
Posts: 5
Joined: Fri Apr 25, 2014 12:00 am

Re: LoadMap XE7

Post by CharlieHeaps » Tue Dec 02, 2014 10:20 pm

Update on this. I think the code in TeeShp is the problem. It should not define Tdataset as an empty class if the BDE is not installed, because TDataset is valid even if the BDE doesn't exist. I tried taking out code that defines Tdataset as an empty class and put back in that the unit depended on the DB unit and now all seems well.

But would welcome some feedback from Steema on whether this seems to be a reasonable thing to do.

PS I have been posting to this forum for at least 13 years now. Would it be possible NOT to be marked as a "Newbie" now? ;)

All the best!

Post Reply