LNK2019 error from cseriespointeritems
LNK2019 error from cseriespointeritems
It looks like this is a new classes in TeeChart2014.0.02. After I installed this new version, my project is broken. It didn't get compiled in VC2012 before I include "seriespointeritems.h" in my files. The code in question is:
m_Chart.Series(i).GetAsPoint().GetPointer().SetInflateMargins(false);
m_Chart.Series(i).GetAsLine().GetPointer().SetVisible(false);
It looks like GetPointer() now returns CSeriesPointerItems instead of CPointer as before. It gets compiled after "seriespointeritems.h" is included. However, some link errors come up:
Core_AnalyzerView.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSeriesPointerItems::SetInflateMargins(int)" (?SetInflateMargins@CSeriesPointerItems@@QAEXH@Z) referenced in function "protected: void __thiscall CCore_AnalyzerView::SetPlotProperty(void)" (?SetPlotProperty@CCore_AnalyzerView@@IAEXXZ)
Core_AnalyzerView.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSeriesPointerItems::SetVisible(int)" (?SetVisible@CSeriesPointerItems@@QAEXH@Z) referenced in function "protected: void __thiscall CCore_AnalyzerView::SetPlotProperty(void)" (?SetPlotProperty@CCore_AnalyzerView@@IAEXXZ)
Do I miss anything? I could not understand why GetAsPoint().GetPointer() returns a different type not kept consistent as before?
m_Chart.Series(i).GetAsPoint().GetPointer().SetInflateMargins(false);
m_Chart.Series(i).GetAsLine().GetPointer().SetVisible(false);
It looks like GetPointer() now returns CSeriesPointerItems instead of CPointer as before. It gets compiled after "seriespointeritems.h" is included. However, some link errors come up:
Core_AnalyzerView.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSeriesPointerItems::SetInflateMargins(int)" (?SetInflateMargins@CSeriesPointerItems@@QAEXH@Z) referenced in function "protected: void __thiscall CCore_AnalyzerView::SetPlotProperty(void)" (?SetPlotProperty@CCore_AnalyzerView@@IAEXXZ)
Core_AnalyzerView.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSeriesPointerItems::SetVisible(int)" (?SetVisible@CSeriesPointerItems@@QAEXH@Z) referenced in function "protected: void __thiscall CCore_AnalyzerView::SetPlotProperty(void)" (?SetPlotProperty@CCore_AnalyzerView@@IAEXXZ)
Do I miss anything? I could not understand why GetAsPoint().GetPointer() returns a different type not kept consistent as before?
Re: LNK2019 error from cseriespointeritems
Just clear it out - in the previous post,
CTChart m_Chart;
And looks like series IPointer3DSeries.Pointer is kept the same as before but ICUstomSeries.Pointer (series line and point) are changed to type ISeriesPointerItems.
CTChart m_Chart;
And looks like series IPointer3DSeries.Pointer is kept the same as before but ICUstomSeries.Pointer (series line and point) are changed to type ISeriesPointerItems.
- Attachments
-
- pointer_types.png (31.32 KiB) Viewed 25587 times
Re: LNK2019 error from cseriespointeritems
Hello,
What TeeChart version are you coming from?
This change was applied in TeeChart VCL v2013.09 (note TeeChart ActiveX is a TeeChart VCL wrapper) and it was explained in the Whats New page:
What TeeChart version are you coming from?
This change was applied in TeeChart VCL v2013.09 (note TeeChart ActiveX is a TeeChart VCL wrapper) and it was explained in the Whats New page:
Line, Area, Point Series (and derived series from TCustomSeries)
- New Pointer.Items property
Series Pointers can now be customized individually, for example:
When a pointer item has been modified, changes to the global Series1.Pointer property will not be used.Code: Select all
Series1.Pointer.Items[12].Color := clRed Series1.Pointer[34].Visible := False
To reset a pointer item to its default values, set to nil:
To remove all custom pointer items completely, call Clear:Code: Select all
Series1.Pointer[12] := nil
Code: Select all
Series1.Pointer.Clear
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: LNK2019 error from cseriespointeritems
I upgraded my projects to TeeChart2014 from an earlier TeeChart version than v2013. I defined CPointer variables to store the returned values from GetPointer(); the function in the latest version returns CSeriesPointerItems which causes my project failure during compile. After I changed my code, everything is OK now. However, it was not a good idea to change the return type of any existing functions.
Re: LNK2019 error from cseriespointeritems
Hello,
I see. I'm sorry for the inconvenience generated.DVT wrote:I upgraded my projects to TeeChart2014 from an earlier TeeChart version than v2013. I defined CPointer variables to store the returned values from GetPointer(); the function in the latest version returns CSeriesPointerItems which causes my project failure during compile. After I changed my code, everything is OK now. However, it was not a good idea to change the return type of any existing functions.
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: LNK2019 error from cseriespointeritems
Please show me the detail solutions.
Original code using V8
c_Chart.Series(0).GetAsLine().GetPointer().SetHorizontalSize(2);
c_Chart.Series(0).GetAsLine().GetPointer().SetVerticalSize(2);
How to fix in V2014 ?
Original code using V8
c_Chart.Series(0).GetAsLine().GetPointer().SetHorizontalSize(2);
c_Chart.Series(0).GetAsLine().GetPointer().SetVerticalSize(2);
How to fix in V2014 ?
Re: LNK2019 error from cseriespointeritems
Hello,
In a new MFC project following the instructions here, I can create a LineSeries, make the Pointer Visible and change its Pointer HorizontalSize and VerticalSize with the following code:
In a new MFC project following the instructions here, I can create a LineSeries, make the Pointer Visible and change its Pointer HorizontalSize and VerticalSize with the following code:
Code: Select all
#include "CSeries.h"
#include "CLineSeries.h"
#include "CPointer.h"
//...
void CMFCApplication1Dlg::initChart()
{
//...
mChart1.AddSeries(0);
CSeries s = mChart1.get_aSeries(0);
s.FillSampleValues(10);
CLineSeries ls = s.get_asLine();
CPointer pls = ls.get_Pointer();
pls.put_Visible(true);
pls.put_HorizontalSize(2);
pls.put_VerticalSize(2);
}
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: LNK2019 error from cseriespointeritems
Thanks.
But I am porting old projects using TeeChart OCX from V8 to V2014, not creating new project.
I want to know how to modify the making-trouble "GetPointer()" function to made the existing project working as before.
But I am porting old projects using TeeChart OCX from V8 to V2014, not creating new project.
I want to know how to modify the making-trouble "GetPointer()" function to made the existing project working as before.
Re: LNK2019 error from cseriespointeritems
Hello,
Actually, in the new application I mentioned in my last post, changing the return type of GetPointer() from CPointer to CSeriesPointerItems also works:
If you still find problems with it, please try to arrange a simple example project we can run as-is to reproduce the problem here.
The customer above, "DVT", solved this changing the return type of GetPointer() from CPointer to CSeriesPointerItems:0692 wrote:But I am porting old projects using TeeChart OCX from V8 to V2014, not creating new project.
I want to know how to modify the making-trouble "GetPointer()" function to made the existing project working as before.
Have you tried this?DVT wrote:I defined CPointer variables to store the returned values from GetPointer(); the function in the latest version returns CSeriesPointerItems which causes my project failure during compile. After I changed my code, everything is OK now.
Actually, in the new application I mentioned in my last post, changing the return type of GetPointer() from CPointer to CSeriesPointerItems also works:
Code: Select all
#include "CSeries.h"
#include "CLineSeries.h"
//#include "CPointer.h"
#include "CSeriesPointerItems.h"
//...
void CMFCApplication1Dlg::initChart()
{
//...
mChart1.AddSeries(0);
CSeries s = mChart1.get_aSeries(0);
s.FillSampleValues(10);
CLineSeries ls = s.get_asLine();
//CPointer pls = ls.get_Pointer();
CSeriesPointerItems pls = ls.get_Pointer();
pls.put_Visible(true);
pls.put_HorizontalSize(2);
pls.put_VerticalSize(2);
}
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: LNK2019 error from cseriespointeritems
Would you please send me your working project to me? Thanks a lot.
I am using VS2013 VC++ MFC.
I am using VS2013 VC++ MFC.
Re: LNK2019 error from cseriespointeritems
Thank you very much.
I have solved this problem.
I have solved this problem.
Re: LNK2019 error from cseriespointeritems
Great! I'm glad to hear it!
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |