由类方法产生的线程如何访问类本身的数据 如题,希望高手指导一下在下。我又Tlabel派生一个类,在类中产生一个线程,这个线程的任务就是不断改变TLabel本身的字体颜色。但是线程中访问不到类本身的数据?请问如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以把创建者(类的实例对象)的指针传给线程的吧不过,线程直接修改vcl界面可能不行 请问如何做一个可以自己改变字体颜色的类?我希望用 TLabel 这个类。本来想向它发送定时器消息,发现没有窗口句柄,所以就想到用线程去改变,但是访问不到Tlabel的数据。 你的“在类中产生一个线程”的代码是怎么样的,看看能不能传入label的地址进去“一个可以自己改变字体颜色的类”,它提供一个改变函数,由它的owner(form)里的定时器去调用,不是很简单吗?否则,摆n个这样的label,就会起n个线程? VCL控件对线程不够安全,不建议你那么做。想改颜色直接在窗口里的定时器里改不就可以了。 我还是希望通过这种方式实现,不相信做不到的。不想繁忙的主窗口再去管理这些杂七杂八的事情。即使是利用定时器,我也希望能由控件自己去产生,自己去接受并处理。我曾经尝试使用TStaticText,但是发现在delphi2009下面它改变不了字体颜色。所以还是想用TLabel了。 VCL控件里使用线程,每创建一个对象就会新开一个线程,不合适 自己终于解决这个问题了,使用TThread可以!自定义类中包含一个由TThread派生的TMyThread成员,然后把自身地址当作参数传到TMyThread对象中。在Execute方法中将自身的地址转换为类后再修改Font.Color就OK了。但是奇怪的是直接通过BeginThread产生的线程却无法访问!!!看来在VCL环境下还是要使用原汁原味的VCL对象解决所有问题啊! delphi update4安装后出错 散分~~ 回家过年了!高兴ing 大侠帮我看看这个线程为什么不能执行? 关于如何创建可视化控件问题 delphi代码编辑器不能输入中文字符 关于合成模式中的一个源码语法问题(作者刘艺) SOS~ 询问Foxpro的默认用户名和初始密码 怎么把一个字符串是的多个‘,’去掉 邮件发送问题 tcxtabsheet的重复显示及自动关闭问题 DLL注入成功后,请教如何模拟按键,以及鼠标点击???
否则,摆n个这样的label,就会起n个线程?
想改颜色直接在窗口里的定时器里改不就可以了。