TeeChart AV on changing ChartTool's name

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
Liang
Newbie
Newbie
Posts: 22
Joined: Wed Jul 28, 2010 12:00 am

TeeChart AV on changing ChartTool's name

Post by Liang » Tue Sep 28, 2010 2:13 am

Hello

BDS2006+TeeChart2010.

At design time, I am adding four TColorBandTool to a Chart, and when I try to rename their name from automatically generated "ChartTool[2,3,4,5]" into meaningful: "WarningBand, MinorBand, MajorBand, CriticalBand" through BDS IDE (BTW, ChartEditor does not allow me to change the ChartTool's name), TeeChart have AV error with following stack:
+ $B[4224B7C3]{Tee910.bpl } Chart.TCustomChart.AxisTitleOrName + $B
+ $0[20006D23]{rtl100.bpl } System.System.@HandleAnyException (Line 9963, "sys\system.pas" + 13) + $0
+ $37[7C903275]{ntdll.dll } RtlConvertUlongToLargeInteger + $37
+ $9[7C90E485]{ntdll.dll } KiUserExceptionDispatcher + $9
+ $E[20FD7C98]{vclide100.bpl} PropBox.PropBox.TCustomPropListBox.DrawPropItem (Line 827, "propbox.pas" + 212) + $E
+ $2C[20FD8168]{vclide100.bpl} PropBox.PropBox.TCustomPropListBox.CNDrawItem (Line 976, "propbox.pas" + 7) + $2C
+ $6[201406A7]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
+ $6[200FE4E7]{vcl100.bpl } StdCtrls.StdCtrls.TCustomListBox.WndProc (Line 4790, "StdCtrls.pas" + 43) + $6
+ $C[2013C1B4]{vcl100.bpl } Controls.Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
+ $11[201407F7]{vcl100.bpl } Controls.Controls.DoControlMsg (Line 7353, "Controls.pas" + 6) + $11
+ $6[201406A7]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
+ $6[2013FDD0]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
+ $0[20040E4C]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $F3[7E41D056]{USER32.dll } EnumDisplayMonitors + $F3
+ $17F[7E41B4BB]{USER32.dll } DefWindowProcW + $17F
+ $15D[7E44FCBD]{USER32.dll } CreateMDIWindowA + $15D
+ $10[7C90E470]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $44[7E41B8FE]{USER32.dll } SendMessageW + $44
+ $46E[7E43CDA8]{USER32.dll } SetDlgItemTextA + $46E
+ $5DD[7E43CF17]{USER32.dll } SetDlgItemTextA + $5DD
+ $50F[7E43CE49]{USER32.dll } SetDlgItemTextA + $50F
+ $9B[7E43C9D5]{USER32.dll } SetDlgItemTextA + $9B
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $9C[7E41C63A]{USER32.dll } IsWindowUnicode + $9C
+ $16[7E41F658]{USER32.dll } CallWindowProcA + $16
+ $17[201407A3]{vcl100.bpl } Controls.Controls.TWinControl.DefaultHandler (Line 7334, "Controls.pas" + 23) + $17
+ $6[201406A7]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
+ $6[200FE4E7]{vcl100.bpl } StdCtrls.StdCtrls.TCustomListBox.WndProc (Line 4790, "StdCtrls.pas" + 43) + $6
+ $6[2013FDD0]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
+ $0[20040E4C]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $17F[7E41B4BB]{USER32.dll } DefWindowProcW + $17F
+ $1CD[7E41B509]{USER32.dll } DefWindowProcW + $1CD
+ $10[7C90E470]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $6[201406A7]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
+ $5[20159E7F]{vcl100.bpl } Forms.Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
+ $6[2013FDD0]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
+ $0[20040E4C]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $17F[7E41B4BB]{USER32.dll } DefWindowProcW + $17F
+ $1CD[7E41B509]{USER32.dll } DefWindowProcW + $1CD
+ $10[7C90E470]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $8[530BFAD1]{exceptiondiag100.bpl} ExceptionDiagReg.ExceptionDiagReg.TExceptionHandler.HandleException (Line 211, "ExceptionDiagReg.pas" + 53) + $8
+ $B[0041586D]{bds.exe } AppMain.AppMain.TAppBuilder.MenuBarPopup (Line 6295, "ui\AppMain.pas" + 7) + $B
+ $7[201D16B8]{vcl100.bpl } AppEvnts.AppEvnts.TCustomApplicationEvents.DoException (Line 189, "appevnts.pas" + 2) + $7
+ $14[18124910]{ExceptionExpert10.bpl} ECommon.ECommon.TEurekaApp.ExceptionNotify (Line 212, "ECommon.pas" + 22) + $14
+ $F[20162A45]{vcl100.bpl } Forms.Forms.TApplication.HandleException (Line 8256, "Forms.pas" + 6) + $F
+ $0[20040E4C]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $F3[7E41D056]{USER32.dll } EnumDisplayMonitors + $F3
+ $17F[7E41B4BB]{USER32.dll } DefWindowProcW + $17F
+ $15D[7E44FCBD]{USER32.dll } CreateMDIWindowA + $15D
+ $10[7C90E470]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $44[7E41B8FE]{USER32.dll } SendMessageW + $44
+ $46E[7E43CDA8]{USER32.dll } SetDlgItemTextA + $46E
+ $5DD[7E43CF17]{USER32.dll } SetDlgItemTextA + $5DD
+ $87[7E43B193]{USER32.dll } DialogBoxParamA + $87
+ $10CA[7E463042]{USER32.dll } GetKBCodePage + $10CA
+ $1EA2[7E4355EE]{USER32.dll } WINNLSGetIMEHotkey + $1EA2
+ $9B[7E43C9D5]{USER32.dll } SetDlgItemTextA + $9B
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $9C[7E41C63A]{USER32.dll } IsWindowUnicode + $9C
+ $16[7E41F658]{USER32.dll } CallWindowProcA + $16
+ $17[201407A3]{vcl100.bpl } Controls.Controls.TWinControl.DefaultHandler (Line 7334, "Controls.pas" + 23) + $17
+ $6[201406A7]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
+ $6[200FE4E7]{vcl100.bpl } StdCtrls.StdCtrls.TCustomListBox.WndProc (Line 4790, "StdCtrls.pas" + 43) + $6
+ $6[2013FDD0]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
+ $0[20040E4C]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $122[7E4189C8]{USER32.dll } GetWindowLongW + $122
+ $A[7E4196C2]{USER32.dll } DispatchMessageA + $A

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

Re: TeeChart AV on changing ChartTool's name

Post by Narcís » Wed Sep 29, 2010 10:17 am

Hi Liang,

I'm not able to reproduce this here using TeeChart VCL 2010.01 non-stable release available at the client area. Does this solve the problem at your end? If the problem persists please attach a simple example project we can run "as-is" to reproduce the problem here.

Thanks in advance.
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

Liang
Newbie
Newbie
Posts: 22
Joined: Wed Jul 28, 2010 12:00 am

Re: TeeChart AV on changing ChartTool's name

Post by Liang » Thu Sep 30, 2010 7:33 am

Hello

As the stack indicates, this AV is related to the setting of the Axis.

If I leave the Axis empty, this AV will happen.

How can I upload a zipx or rar file? Seems that this forum will not allow me to do so

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

Re: TeeChart AV on changing ChartTool's name

Post by Narcís » Thu Sep 30, 2010 7:40 am

Hello Liang,

Rename your file to another supported extension and let us know to which extension should we change it or post your files at the upload page.

Thanks in advance.
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

Liang
Newbie
Newbie
Posts: 22
Joined: Wed Jul 28, 2010 12:00 am

Re: TeeChart AV on changing ChartTool's name

Post by Liang » Thu Sep 30, 2010 7:42 am

Hello

To reproduce the error:

1. Open ChartEditor
2. Add a ColorBand, leave Axis empty
3. Close ChartEditor
4. In the BDS IDE's component structure tree, click to select the ColorBand -->AV raised.

As far as I have set the Axis, there will be no AV.

Liang
Newbie
Newbie
Posts: 22
Joined: Wed Jul 28, 2010 12:00 am

Re: TeeChart AV on changing ChartTool's name

Post by Liang » Thu Sep 30, 2010 7:46 am

just uploaded file name:

movie.rar

It contain two movies, one for AV, one for no AV

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

Re: TeeChart AV on changing ChartTool's name

Post by Narcís » Thu Sep 30, 2010 1:37 pm

Hello Liang,

Thanks for the videos. I have been able to reproduce the issue here and added it (TV52015181) to the defect list to be fixed.
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

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

Re: TeeChart AV on changing ChartTool's name

Post by Narcís » Tue Oct 19, 2010 7:56 am

Hi Liang,

Just wanted to let you know that TV52015181 has been fixed for next maintenance release. If you are a source code customer you can fix this implementing TAxisToolEditor.FormShow at TeeAxisToolEdit.pas as shown here:

Code: Select all

procedure TAxisToolEditor.FormShow(Sender: TObject);
begin
  AxisTool:=TTeeCustomToolAxis(Tag);

  if Assigned(AxisTool) then
  begin
    TeeAddAxes(AxisTool.ParentChart,CBAxis.Items,IncludeDepthAxes);

    With AxisTool do
    begin
      BPen.Enabled:=True;
      BPen.LinkPen(Pen);

      CBAxis.Enabled:=Assigned(ParentChart);

      if Assigned(ParentChart) then
      With ParentChart,CBAxis do
      if Axis=LeftAxis then ItemIndex:=0 else
      if Axis=RightAxis then ItemIndex:=1 else
      if Axis=TopAxis then ItemIndex:=2 else
      if Axis=BottomAxis then ItemIndex:=3 else
         ItemIndex:=Axes.IndexOf(Axis)-DepthAxesOffset;

      if (CBAxis.ItemIndex<0) and  (CBAxis.Items.Count>0) then
      begin
        CBAxis.ItemIndex:=0;
        CBAxisChange(CBAxis);
      end;
    end;

    {$IFDEF D5}
    if not IsPublishedProp(AxisTool,'Pen') then // do not localize
       BPen.Hide;    // <--- Bug, this does not work, Button is not hidden
    {$ENDIF}
  end
  else
    EnableControls(False, [BPen, CBAxis]);
end;
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

Post Reply