我有一个关于在MainThread TThread
上单独创建MainThread TButton
的TPanel
的问题。 TPanel
必须设置为TButton
的Parent。
ButtonVariableName := TButton.Create (
(Form1.FindComponent('PanelNameString') as TComponent)
);
ButtonVariableName.Parent := (
(Form1.FindComponent('PanelNameString') as TWinControl)
);
不管用...
ButtonVariableName
在MainThread上。在单独的TThread上调用
TButton.Create()
。ButtonVariableName.Parent
也可以从单独的TThread
中调用。FindComponent
似乎正在崩溃。当我将其删除并放置其他东西时,它会起作用。从单独的FindComponent
调用时,可能是TThread
不起作用,但我不确定。有指针^吗?
哈哈。
-i2编程器
最佳答案
您不能从辅助线程使用VCL。在辅助线程中使用Synchronize或Queue在主线程的上下文中执行与VCL相关的代码。