線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1264
推到 Plurk!
推到 Facebook!

dbchart的錯誤訊息

缺席
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-17 10:19:38 IP:202.154.xxx.xxx 未訂閱
請問各位前輩 當我資料只有一筆時去動態新增series為何會出現invalid pointer operation 只要大於一筆資料就不會有錯誤訊息這是什麼原因,要如何解決 資料如下   cname,date_,value   jvc,2004/5/1,55000          
var
  myseries:TLineSeries;
begin
  myseries:=TLineSeries.Create(DBChart1);
  myseries.ParentChart:=DBChart1;
  ADOQuery2.Open;
  myseries.DataSource:=ADOQuery2;
  myseries.XValues.ValueSource:='dt';
  myseries.YValues.ValueSource:='val';
  MySeries.Pointer.Visible:=true;
  MySeries.Pointer.Style:=psRectangle;
  DBChart1.AddSeries(myseries);
end;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-17 10:33:35 IP:210.65.xxx.xxx 未訂閱
Hi BOSS,    改為下列寫法試試
var
  myseries:TLineSeries;
begin
  myseries:=TLineSeries.Create(Self);
  myseries.ParentChart:=DBChart1;
  ADOQuery2.Open;
  myseries.DataSource:=ADOQuery2;
  myseries.XValues.ValueSource:='dt';
  myseries.YValues.ValueSource:='val';
  MySeries.Pointer.Visible:=true;
  MySeries.Pointer.Style:=psRectangle;
//  DBChart1.AddSeries(myseries);
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-17 10:50:47 IP:218.80.xxx.xxx 未訂閱
在头部USES里定义series
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-17 11:05:02 IP:210.65.xxx.xxx 未訂閱
Hi Boss,    Sorry !! 剛剛試了,那個語法一樣不 work 原因似乎是出在你的欄位 DT 為日期格式(我猜的),若為數值狀態會正常 否則
procedure TForm1.Button1Click(Sender: TObject);
var
  MySeries:TLineSeries;
begin
  MySeries:=TLineSeries.Create(self);
  MySeries.ParentChart:=DBChart1;
  Query1.Close;
  Query1.Open;
  MySeries.DataSource:=Query1;
  Myseries.XValues.DateTime := True;
  Myseries.XValues.ValueSource:='DT';
  Myseries.YValues.ValueSource:='Val2';
  MySeries.Pointer.Visible:=true;
  MySeries.Pointer.Style:=psRectangle;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-17 13:22:23 IP:202.154.xxx.xxx 未訂閱
Fishman兄 我照你的方式去改,可是一樣會有那錯誤訊息 不知道跟版本是否有關我的teechart版本是4.2
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-17 14:11:19 IP:210.65.xxx.xxx 未訂閱
Hi BOSS,    可能吧,我的測試環境 TeeChart 版本為 TeeChart Standard 4.04,也就是 Delphi 7 中內含的那一個版本 不知其他大大是否有用過 TeeChart 4.2 版的? < >< > ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-17 15:04:38 IP:202.154.xxx.xxx 未訂閱
Fishman兄 抱歉我說錯了我的也是TeeChart Standard 4.04
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-17 17:35:43 IP:210.65.xxx.xxx 未訂閱
Hi BOSS,    Check 你的 ADOQuery2 在 Open 以後有資料,以避免產生該錯誤訊息
procedure TForm1.Button1Click(Sender: TObject);
var
  MySeries:TLineSeries;
begin
  ADOQuery2.Close;
  ADOQuery2.Open;
  IF NOT ADOQuery2.IsEmpty then
    begin
      MySeries:=TLineSeries.Create(self);
      MySeries.ParentChart:=DBChart1;
      MySeries.DataSource:=ADOQuery2;
      Myseries.XValues.DateTime := True;
      Myseries.XValues.ValueSource:='DT';
      Myseries.YValues.ValueSource:='Val';
      MySeries.Pointer.Visible:=true;
      MySeries.Pointer.Style:=psRectangle;
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-18 10:54:31 IP:202.154.xxx.xxx 未訂閱
Fishman兄 照你的方式去改了還是會出現錯誤,但是我若將Myseries.YValues.ValueSource:='Val'這行mark 就不會錯誤,怎會這樣    後來我將teechart更新到v5.02就不會有錯誤訊息不過那是試用版
procedure TForm1.Button1Click(Sender: TObject);
var
  MySeries:TLineSeries;
begin
  ADOQuery2.Close;
  ADOQuery2.Open;
  IF NOT ADOQuery2.IsEmpty then
    begin
      MySeries:=TLineSeries.Create(self);
      MySeries.ParentChart:=DBChart1;
      MySeries.DataSource:=ADOQuery2;
      Myseries.XValues.DateTime := True;
      Myseries.XValues.ValueSource:='DT';
//      Myseries.YValues.ValueSource:='Val';
      MySeries.Pointer.Visible:=true;
      MySeries.Pointer.Style:=psRectangle;
    end;
end;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-06-18 12:31:26 IP:210.65.xxx.xxx 未訂閱
Hi BOSS,    這個範例給你參考看看 D7 with TeeChart Standard 4.04 http://delphi.ktop.com.tw/loadfile.php?TOPICID=16277578&CC=364042 Good Luck !! ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-06-21 11:40:17 IP:202.154.xxx.xxx 未訂閱
Fishman兄 謝謝你如此熱心替我解答,可是我去試依舊不行,最後我只有選擇更新版本,更新後就可以
系統時間:2024-06-26 6:55:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!