全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1892
推到 Plurk!
推到 Facebook!

在drawgrid中顯示一個表中的一系列圖檔的問題

尚未結案
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-11 17:00:11 IP:211.162.xxx.xxx 未訂閱
我用的是delphi7,我有一個表格含有一個type,image欄位,現我想把這些圖檔按type分組顯示在一個drawgrid中,請問我該如何做呢,我參照一位前輩的敘述:     public     images:Timagelist;     { Public declarations }   end;    var   Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.FormCreate(Sender: TObject); var   i,count:integer;   bmp:Tbitmap;   bmpstr:string; begin   images:=Timagelist.Create(self);   count:=drawgrid1.ColCount * drawgrid1.RowCount ;   for i:=0 to count-1 do begin     bmp:=Tbitmap.Create ;     images.Add(bmp,nil);   end; end;    procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;   Rect: TRect; State: TGridDrawState); var   i:integer;   bmp:Tbitmap; begin   {i:=ARow*drawgrid1.ColCount + ACol;   images.GetBitmap(i,bmp);//這裡報錯,不能執行   drawgrid1.Canvas.Draw(rect.Left,rect.Top,bmp);  } end; 結果上面提示處出錯,
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-12 17:50:48 IP:202.39.xxx.xxx 未訂閱
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
  i: integer;
  bmp: Tbitmap;
begin
  bmp := TBitmap.Create;
  try
    i := ARow*drawgrid1.ColCount   ACol;
    images.GetBitmap(i, bmp);
    drawgrid1.Canvas.Draw(rect.Left, rect.Top, bmp); 
  finally
    bmp.Free;
  end;
end;
--- --<-<-<@
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-12 20:02:23 IP:211.162.xxx.xxx 未訂閱
不知你的開發環境是什麼,我是用的delphi7,結果還是不行,我現在改用動態創建TDBImage的方式把這些圖顯示出來,不過仍然關注該問題的正解,TKS
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-12 20:38:57 IP:202.39.xxx.xxx 未訂閱
小弟試是可以的 您的錯誤訊息是什麼? --- --<-<-<@
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-16 11:08:20 IP:211.162.xxx.xxx 未訂閱
error : Project project1.exe raised exception class EaccessViolation with message ‘Access Violation at address 0043B61C in module ‘ Project1.exe ‘ Read of address 0000003C’ Process stopped .use Step or Run to continue Ok help
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-16 21:56:17 IP:202.39.xxx.xxx 未訂閱
哪一行出現 Access Violation 的? --- 歡迎光臨 KTop 研究院--<-<-<@
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-25 09:39:38 IP:211.162.xxx.xxx 未訂閱
images.getbitmap(i,bmp)这行出错,错误信息已列出
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-25 12:47:53 IP:202.39.xxx.xxx 未訂閱
引言: images.getbitmap(i,bmp)这 ざ错,错误 Uァざ
會不會 i 值超過 ImageList 的 ImageIndex 上限了? --- 歡迎光臨 KTop 研究院--<-<-<@
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-28 11:10:30 IP:211.162.xxx.xxx 未訂閱
不是,我追蹤過,第一個循環就報錯,你是不是在delphi7中有測試過呢
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-28 11:54:47 IP:202.39.xxx.xxx 未訂閱
小弟這邊用 Delphi7 測試過, 沒問題 不過小弟的 ImageList 不是動態 Create 的 今天再改用您的動態 Create 的方式, 一樣可以 那會不會是在 run 到 images.GetBitmap(i, bmp); 這行時 images 這個變數已經被 Free 掉了?    --- 歡迎光臨 KTop 研究院--<-<-<@
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-09-22 20:57:47 IP:211.162.xxx.xxx 未訂閱
不好意思,公司不允許上網,一直都不能參與大家的討論,首先,謝謝hager 的賜教,可以確定的是,沒有free掉,具體我也不清楚是什么原因,最近不能上網,麻煩版主幫我把該問題結案,麻煩之處,請多包涵
系統時間:2024-05-18 14:35:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!