社区
Delphi
帖子详情
canvas dose not allow drawing错误
win2000pega
2005-09-02 01:24:10
我在使用RAVE打印的时候,产生了canvas dose not allow drawing错误。
请问canvas dose not allow drawing错误是由于什么原因产生的。
...全文
610
17
打赏
收藏
canvas dose not allow drawing错误
我在使用RAVE打印的时候,产生了canvas dose not allow drawing错误。 请问canvas dose not allow drawing错误是由于什么原因产生的。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
win2000pega
2005-09-08
打赏
举报
回复
希望大家踊跃发言。
win2000pega
2005-09-08
打赏
举报
回复
大家没有什么好的办法了吗?
zhushudo
2005-09-08
打赏
举报
回复
应该是VCL同步问题,使用下面的方法看看。
procedure TMyTreadPrint.Execute;
begin
inherited;
try
Synchronize(自己写的过程);
except
on Ex:exception do
fExceptionMessage:=Ex.Message;
end;
end;
win2000pega
2005-09-07
打赏
举报
回复
TO: chw_csdn_chw(chw)
——————————————————————————————————————
你说的又道理,我试一下,希望能好用。
win2000pega
2005-09-06
打赏
举报
回复
部用线程我已经试过了,程序可以正常运行。我的报表中确实有图形,可是把图形去掉也是一样的错误。
部用线程是部可以的,因为我的程序是扫描打印的,扫描后打印条码标签,有的时候扫描的时候是特别的快,用单线程处理的时候,又查数据库,又需要打印,这样的话打印和扫描部能同步,致使打印出的标签是错误的。
为什么线程会出此类的问题?
chw_csdn_chw
2005-09-06
打赏
举报
回复
vcl不是线程安全的.
你可以在线程中postmessage(wm_print)给一个窗体(例如创建线程的窗体),然后再这个窗体中截取wm_print消息,并进行处理(打印)
hqhhh
2005-09-05
打赏
举报
回复
你最好试一下不用线程处理,会不会错,如果没有错,则说明你的报表中有图的问题,
然后你再把报表中的图去掉试试,我样可以查出原因!
win2000pega
2005-09-05
打赏
举报
回复
是不是线程同步,或者调用RAVE控件的问题?
win2000pega
2005-09-05
打赏
举报
回复
TO: flyinwuhan(制怒·三思而后行)
确实是多线程出的问题,我在一个线程调用RAVE进行打印。
能解决一下吗?
cdsgajxlp
2005-09-02
打赏
举报
回复
//canvas dose not allow drawing
procedure TForm1.Button1Click(Sender: TObject);
Var
FCanvas : TCanvas;
begin
FCanvas := TCanvas.Create;
FCanvas.MoveTo(10,10);
FCanvas.LineTo(200,200);
FCanvas.Free;
end;
OK
procedure TForm1.Button1Click(Sender: TObject);
var
rect1, rect2: trect;
mCanvas: TCanvas;
mHDC: HDC;
bitmap : tbitmap;
begin
bitmap := tbitmap.create;
bitmap.loadfromfile('C:\Documents and Settings\Administrator\My Documents\first.bmp');
mCanvas := TCanvas.Create;
mHDC := GetDC(button1.Handle);
mCanvas.Handle := mHDC;
rect1 := bitmap.Canvas.ClipRect;
rect2 := Rect(0, 0, button1.Handle, button1.Handle);
mCanvas.copyrect(rect2, bitmap.canvas, rect1);
bitmap.free;
mCanvas.Free;
ReleaseDC(button1.Handle, mHDC);
end;
lovendII
2005-09-02
打赏
举报
回复
提示不能重画canvas ,估计需要设置什么属性才可以吧。去查查资料
flyinwuhan
2005-09-02
打赏
举报
回复
估计又是多线程出的问题
win2000pega
2005-09-02
打赏
举报
回复
我打印机械序号的条码,可能是有一些图形的。
但是在报表里面我已经增加这些控件。
hqhhh
2005-09-02
打赏
举报
回复
是不是你的报表中放了一些图,而没有加相应的控件
不是太清楚!
cdsgajxlp
2005-09-02
打赏
举报
回复
canvas dose not allow drawing说明不能使用canvas
具体看canvas帮助
zhaozhen2004
2005-09-02
打赏
举报
回复
没有遇到过。
nwpulipeng
2005-09-02
打赏
举报
回复
关注
FastReport设计工具+开发指南
FastReport设计工具+开发指南,详细介绍了FastReport的使用方法
Canvas
doesn't
allow
drawing
在调试delphi应用程序时,会在程序运行几秒后,突然出现这个
错误
。一般这个
错误
都是出现在使用线程时,因为在使用Thread时,所有的关于UI的代码都要进行同步,否则,就会出现这个
错误
,既然知道了
错误
原因,也就找到了解决方法。 即使是简单地显示一个消息对话框,也要将他单独写为一个方法,然后在使用该方法时,必须进行同步。如下: procedu...
关于使用C-Lodop的一点经验
lodop
C++ 学习笔记10
Design and implement a simple spell checker. 许多常用字处理软件都内置了拼写检查程序。请设计和实现自己的拼写检查程序。可以在程序中建立字典文件。 dictionary.txt abandon abandonment
Jane Eyre(A)
CHAPTER I Chinese THERE was no possibility of taking a walk that day. We had been wandering, indeed, in the leafless shrubbery an hour in the morning; but since dinner (Mrs. Reed, when there was
Delphi
5,927
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章