TChart incompatible with QDialogs

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
MSRosenberg
Newbie
Newbie
Posts: 4
Joined: Tue Jan 07, 2003 5:00 am

TChart incompatible with QDialogs

Post by MSRosenberg » Mon Mar 14, 2005 10:46 pm

I'm repeating this bulk of this post in a new thread in order to make sure its better disseminated to the community. It originally was in the thread "Suppression of Format Tabs in Run-Time Chart Editor" for more info.

----

This is the same problem I reported over two years ago (Nov 2002) but apparently has still not been fixed...for some reason QDialogs is incompatible with TeeChart (or at least parts of TChart).

Simple steps for proof:

1) Create a new application.
2) Add a chart, a button, and a TChartEditor component
3) Create code to run editor when the button is pressed
4) Add a point series or 3d point series to the chart.
5) Run. Note that when the button is pressed you have access to a "Format" tab under the Series Tab. This allows you to control the size, shape, color, etc. of the points.
6) Add "uses QDialogs;" to the implementation (or the interface)
7) Run. Note that the "Format" tab is no longer available.

This whole thing infuriates me a bit :evil:, because I reported this bug over two years ago, but it has clearly never been addressed. QDialogs is not the most essential unit, but there is no good reason to have a basic, persistent incompatibility with Delphi code.

Here is the entire test code:

Code: Select all

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeeEdit, TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Button1: TButton;
    Series1: TPointSeries;
    ChartEditor1: TChartEditor;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses QDialogs;

procedure TForm1.Button1Click(Sender: TObject);
begin
     ChartEditor1.Execute;
end;

end. 

Post Reply