VCL跨线程传送对象指针是没有问题的,但是VCL也并不是Thread-safe,如果要从线程中更新界面,安全的方法是调用TThread.Synchorize方法。VCL的实现也比较有意思,简单的说,它创建了一个隐藏的窗口,TThread.Synchorize实际上是向这个窗口发了一条消息,然后这个窗口再把消息内容翻译为原来的方法。由于隐藏窗口和其他窗口都在同一个线程中,所以没有同步问题。