线程安全MakeObjectInstance?

时间:2014-05-30 14:20:33

标签: delphi delphi-xe6

如何在线程中使用MakeObjectInstance?我知道在各个地方发布了线程安全的AllocateHwnd函数,但我似乎无法找到MakeObjectInstance的线程安全函数。

我发现这个http://www.atozed.com/Intraweb/Blog/20121030.EN.aspx但不适用于XE6?

1 个答案:

答案 0 :(得分:1)

从评论中可以看出,您希望在主线程之外创建一个窗口句柄。您正确地注意到您不能使用AllocateHWnd,因为它不是线程安全的。但是,您可以使用线程安全版本,例如Primoz提供的版本。

您评论它不允许您使用CreateWindowEx。但由于代码是作为源代码提供的,因此根据您的需求进行自定义是很容易的。

这是一个比MakeObjectInstance更清晰的问题解决方案。它避免了创建运行时thunk并使用窗口句柄的实例内存。记忆存在的原因。