C++ Faults when a TChartListBox is used in a DLL.

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by Narcís » Tue Mar 25, 2014 8:51 am

Hello,
rgsolutions wrote:The first real option is to wait for the update that David refers to in his blog. I am hopeful this will solve the issue as this will be the one that is most effective and under the control of Steema. It would not depend upon a fix from Embarcadero.
That's included with the sources in the email I sent you.
rgsolutions wrote: As a note, I looked at the email address for me in my profile, and it is correct. I am not sure why I did not get your email.
Ok, I resent the email again. I also asked the Sales Dept. to send it from an alternative email address from our ISP. Hopefully you'll receive one of them.
rgsolutions wrote: Again, I would like to thank you for all the patience and tolerance you have shown me during this ordeal. When you got involved, I finally felt that we started to make progress toward some type of solution. We're not there yet, but we are moving forward. C++ developers are the step children in the Embarcadero world and often times we do not get the attention or understanding that we would like.
You're very welcome!
rgsolutions wrote: Thanks again, and please keep me posted should you have any relevant information.
Yes, absolutely.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Tue Mar 25, 2014 5:35 pm

I downloaded and installed the source files that you linked me to. I was now able to run the test case that I originally submitted. Since this was a success, I continued to rebuild and test my main two project groups. Both ran successfully and I now believe that I will be able to use the lastest software from you. I will continue to test the software.

I should tell you that there is still one more problem with the GDI+ DLL processing. In my latest program group, I use the Runtime ChartEditor to modify the TCharts in my DLL. If the Chart is originally created with GDI+ and saved during design, then when the Chart is opened in the actual processing, the rendering is changed to GDI. If you then change the rendering at runtime with the ChartEditor (or I suspect internally by setting the GDI+ option), the processing will fault as was in the original test case.

To demonstrate this to you, I have revised my original test case. The test case still has the DLL and EXE. The DLL has only one form and this form now contains only a TChart. It has been dropped on the form and will default to GDI+ plus rendering. The EXE has only one form on it and a button. When the EXE is started, the form appears. If you press the button, the DLL form will appear and it is correct. If you double click on the DLL form, the ChartEditor will open. You will see that the 3D rendering is GDI. If you change it to GDI+, the processing will fault.

To me this is a minor problem that can be avoided by not setting the GDI+ value. I have no intentions to set it internally, and I will avoid setting it at run time. For completeness, I thought you might like to know about this situation.

Again, thanks for all the help, and give a special thanks to David.
Attachments
DLL Test Case Revised.zip
(85.63 KiB) Downloaded 1283 times

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Tue Mar 25, 2014 6:10 pm

I have just done some more testing, and I have encountered another problem that is a "show stopper". I just found out that if I try to add a series using the Runtime ChartEditor, then the processing will fault. You can see this problem with my test case. When you have the program running and the DLL form displayed, open the Runtime ChartEditor (by double clicking on the chart), and then try to add a new series to the chart. When you hit the Add button, it will fault trying to display the available series.

Unfortunately, all my chart design is done using the runtime ChartEditor or runtime ChartEditorPanel. This means that I will have to back off of this set of TChart files for the time being.

Please advise if you need any further information. The email that you used to contact me is correct and I did get both of your emails, so this method will work.

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Tue Mar 25, 2014 10:16 pm

I have done some more testing with the update. I had remembered that you had some options regarding the rendering of the Gallery. On my system I looked at the options available to the Design Editor and found "Chart Gallery / Render" option. I changed this value to GDI and the runtime processing works -- on my development system.

To test this for a customer's environment, I installed my application on another system and ran the program. When I attempted to add a series to a chart, the processing aborted. Since I cheated and looked at the registry on my development system, I saw that the Gallery Rendering can be controlled by a registry setting. When I added the key "Steema Software / TeeChart Pro / Editor" and the DWORD value "GalleryRender" with a value of zero, the processing worked on the target system.

While this processing will work for the time being, I think the default value of Gallery Rendering should be GDI, or have the processing detect that the GDI+ is loaded and can be used, otherwise it should be GDI.

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Tue Mar 25, 2014 11:10 pm

One last thing and I think I am good in the short term. I also had to add the "DefaultCanvas" key (with a value of blank) to the registry as well. I needed this value for the "subcharts" in the Gallery.

So to summarize. For my customer installation, I need to add two keys (DefaultCanvas and GalleryRender) to the registry in order to make the processing work at my customer site. As I said, I do not think we should have to install registry keys for this processing, but at this point, I will concede it so that I can move forward.

I had a lot of posts today and I hope they all make sense. If not, please let me know and I will clarify.

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Wed Mar 26, 2014 4:51 pm

I am still testing. I have a problem with functions, but I think it is my processing. I will let you know if there is an issue.

I did find another minor problem. If you add a function to a 3D chart, the chart is converted to 2D. Let me know if you want me to report this some other way.

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Wed Mar 26, 2014 11:22 pm

I am currently stopped at this point in that an old problem has reappeared. I do not know how to link to another stream, but it was problem report TV52015395. It had to do with ChartEditor, Functions, and no entries in the Available list. I believe this problem report is still open.

rgsolutions
Newbie
Newbie
Posts: 46
Joined: Tue Jun 04, 2013 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Fri Mar 28, 2014 5:28 pm

I currently have resolved all my current issues. I will continue testing, but at this point I do not think there are any major issues to deal with.

Thanks again for all the help.

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by Narcís » Mon Mar 31, 2014 7:02 am

Hello,

That's great news. Thanks for your feedback.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

rgsolutions
Newbie
Newbie
Posts: 7
Joined: Mon Jun 09, 2014 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Wed Oct 15, 2014 5:16 pm

I just downloaded and installed the latest update for C++ XE4 (September 24, 2014, Build 2014.12.140923). The test case that I submitted earlier again fails as before.

I have had to revert back to the TeeChart 2014 140225 SourceCode update you sent me back in March.

rgsolutions
Newbie
Newbie
Posts: 7
Joined: Mon Jun 09, 2014 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Mon Oct 27, 2014 11:23 pm

Is there any status on fixing this? I would like to be able to move forward to the new update.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by Sandra » Thu Oct 30, 2014 3:37 pm

Hello rgsolutions,

I would like suggest you taking a look in the bug number id522 where you find a solution about the problem. Feel free to add your email account to the ticket so you wan be automatically notified when and update arrives.

Thanks in advance.
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

rgsolutions
Newbie
Newbie
Posts: 7
Joined: Mon Jun 09, 2014 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by rgsolutions » Thu Oct 30, 2014 11:12 pm

The detour presented in ID522 works just fine for me on C++ XE4.

Thanks for the help.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: C++ Faults when a TChartListBox is used in a DLL.

Post by Sandra » Fri Oct 31, 2014 1:05 pm

Hello rgsolutions,

Thanks for the feedback. I am glad you can solve the problem you are experiencing :).

Thanks in advance,
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply