社区
Delphi
帖子详情
canvas dose not allow drawing错误
win2000pega
2005-09-02 01:24:10
我在使用RAVE打印的时候,产生了canvas dose not allow drawing错误。
请问canvas dose not allow drawing错误是由于什么原因产生的。
...全文
672
17
打赏
收藏
canvas dose not allow drawing错误
我在使用RAVE打印的时候,产生了canvas dose not allow drawing错误。 请问canvas dose not allow drawing错误是由于什么原因产生的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
关注
Canvas
doesn't
allow
drawing
本文介绍了在Delphi中使用线程时遇到的UI更新
错误
,并提供了解决方案。通过将UI更新操作封装成独立的方法并使用Synchronize过程来同步执行,可以避免因线程间UI操作引发的问题。
驱动冲突伴随 DWG 图纸文字问号怎么办?下载冲突解决合集.zip
彻底解决CAD图纸文字变问号、文字变乱码,以及其他所有字体缺失带来的烦恼
【对架无人机进行规范控制和点对点运动的模拟】可变桨叶四旋翼控制的优化推力分配:翻转动作的比较研究(Matlab代码实现)
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
易语言源码易语言access数据库操作
易语言源码易语言access数据库操作
C++编程while循环结构测试题解析:程序输出与循环控制逻辑训练
内容概要:本文档是一份关于C++语言中while循环的专项测试卷,包含20道单项选择题和10道判断题,题目来源于GESP和CSP-J等权威编程等级考试真题。内容涵盖while循环的基本语法、执行逻辑、条件判断、循环控制、常见死循环原因及与其他循环结构的区别,重点考察循环条件的真假判断、循环体执行次数、变量变化过程以及相关逻辑推理能力。附带完整答案解析,有助于巩固C++循环基础知识。; 适合人群:准备参加GESP或CSP-J等青少年编程等级考试的学生,具备初步C++编程基础的学习者(如中小学阶段初学者);适用于学习流程控制结构中的循环知识点。; 使用场景及目标:①用于检测对while循环掌握程度,查漏补缺;②辅助教师进行教学测评或学生自我练习;③帮助理解循环执行顺序、条件表达式含义及避免死循环等核心概念; 阅读建议:建议在完成每道题目后对照答案认真分析
错误
原因,结合代码调试加深理解;尤其注意条件赋值与比较的区别(如k=0)、逻辑非运算的应用及循环变量更新机制。
Delphi
5,943
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章