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

QuickRep中動態產生QRImage的困擾

缺席
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-22 12:10:36 IP:210.201.xxx.xxx 未訂閱
請教各位前輩,我在QuickRep中想要動態產生QRImage,若有五張圖檔則會分別以新的頁面來分開秀圖且圖置於DetailBand,目前所碰到的問題為預覽時卻看不到圖不知為何因? 動態產生的code如下:  
 
var i: Integer;
    aQRI: Array of TQRImage;
    aQRL: Array of TQRLabel;   
begin
  SetLength(aQRI, iCount);
  SetLength(aQRL, iCount);
  for i:=0 to iCount-1 do
    begin
      aQRI[i] := TQRImage.Create(self);
      aQRI[i].Name := 'QRI' IntToStr(i);
      aQRI[i].AutoSize := False;
      aQRI[i].Visible := True;
      aQRI[i].Stretch := True;          aQRL[i] := TQRLabel.Create(self);
      aQRL[i].Name := 'QRL' IntToStr(i);          //QuickRep1.NewPage;
    end;
end;
------
我也在努力學習中,若有錯謬請見諒。
Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-22 13:22:43 IP:210.65.xxx.xxx 未訂閱
Hi adonis,    參考 http://delphi.ktop.com.tw/topic.php?topic_id=40425 試試以下寫法
var i: Integer;
    aQRI: Array of TQRImage;
    aQRL: Array of TQRLabel;   
begin
  SetLength(aQRI, iCount);
  SetLength(aQRL, iCount);
  for i:=0 to iCount-1 do
    begin
      aQRI[i] := TQRImage.Create(self);
      aQRI[i].Parent := Self;
      aQRI[i].Name := 'QRI' IntToStr(i);
      aQRI[i].AutoSize := False;
      aQRI[i].Visible := True;
      aQRI[i].Stretch := True;          aQRL[i] := TQRLabel.Create(self);
      aQRL[i].Parent := Self;
      aQRL[i].Name := 'QRL' IntToStr(i);          //QuickRep1.NewPage;
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-22 13:35:04 IP:210.201.xxx.xxx 未訂閱
結果還是一樣,當我嘗試此時直接列印時會出現--A component named QRI0 already exists. 不知是何因?請各位前輩幫幫忙,謝謝。
------
我也在努力學習中,若有錯謬請見諒。
Fishman
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-22 15:22:42 IP:210.65.xxx.xxx 未訂閱
Hi adonis,    這一篇你參考看看    http://delphi.ktop.com.tw/topic.php?topic_id=51967 用一個 QRImage 搭配 OnNeedData 來作 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-22 15:46:27 IP:210.201.xxx.xxx 未訂閱
我做了一個簡單的測試,程式如下  
 
procedure TForm2.QRBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
var QRI: TQRImage;
begin
  QRI := TQRImage.Create(self);
  QRI.Parent := self;
  QRI.AutoSize := True;
  QRI.Stretch :=False;
  QRI.Picture.LoadFromFile('D:\test\222.bmp');
  //QRImage1.Picture.LoadFromFile('D:\test\222.bmp');
end;
就簡單如上的程式碼就無法於預覽中秀圖,若只是單純的//...那一段的話又可以正常(所有環境都沒有改變),若在其他環境裡單純的動態調用TImage時卻不會有問題,是否為QRImage的限制或哪裡出了問題,還是該元件有作業系統上的限制?我用的是Win2K Pro 的平台。
------
我也在努力學習中,若有錯謬請見諒。
Fishman
尊榮會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-22 16:21:12 IP:210.65.xxx.xxx 未訂閱
Hi adonis,    Sorry !! 似乎有點錯誤,更正一下,你再試試    http://delphi.ktop.com.tw/topic.php?topic_id=37802
procedure TForm2.QRBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
var QRI: TQRImage;
begin
  QRI := TQRImage.Create(self);
  QRI.Parent := Sender;
  QRI.AutoSize := True;
  QRI.Stretch :=False;
  QRI.Picture.LoadFromFile('D:\test\222.bmp');
  //QRImage1.Picture.LoadFromFile('D:\test\222.bmp');
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-22 16:40:07 IP:210.201.xxx.xxx 未訂閱
會出現 存取衝突 的錯誤訊息,您那邊測不會嗎?
------
我也在努力學習中,若有錯謬請見諒。
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-07-22 18:05:55 IP:210.201.xxx.xxx 未訂閱
我想我應該找到問題的徵結了-- 在於 BeforePrint & OnNeedData。不過還是要謝謝 Fishman 大大的熱心參與。日後再有相關問題還請您多多幫忙,謝謝。
------
我也在努力學習中,若有錯謬請見諒。
系統時間:2024-07-01 9:49:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!