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

ppReport的printer指令列印兩次以上會出現錯誤訊息

缺席
mingking0947
一般會員


發表:30
回覆:32
積分:12
註冊:2005-07-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-14 16:30:34 IP:220.228.xxx.xxx 訂閱
各位前輩:
小弟用ppReport元件列印,列印1次是沒問題,但若列印2次(含)以上就會出現"記憶體不能為"read"的問題.
最後發現是ppReport中的" printer "或 " PrintReport " 指令出現的,因為若拿掉此指令,其他都不會有問題,任何一台列表機都一樣.
後來加入"sleep(5000)",也無效.
奇怪的是,若列印時加入" showmessage() "的指令則不會出現"記憶體"的錯誤訊息.
小弟的程式如下:
with ppReport1 do begin
PrinterSetup.PrinterName := '\\192.168.1.119\WP-T800s Ver.2.6';
ShowPrintDialog := False;
ModalPreview := False;
DeviceType := 'Printer'; // 報表列印
for i:= 1 to 2 do begin
PrintReport;
//ShowMessage(inttostr(i));
// Sleep(5000);
// Printer;
end;
end;

謝謝各位前輩.
mingking0947
一般會員


發表:30
回覆:32
積分:12
註冊:2005-07-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-15 09:22:37 IP:220.228.xxx.xxx 訂閱
已解決了.
只要在printer的下一行加入"application.ProcessMessages;"將程式的主導權交回給系統就可以了.
修改後的程式如下:
for i:= 1 to 2 do begin
PrintReport;
application.ProcessMessages;
end;
編輯記錄
mingking0947 重新編輯於 2007-11-15 09:24:53, 註解 無‧
系統時間:2024-04-24 1:11:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!