在运行时应用新的样式后,我的应用程序的MainForm中创建一个新的窗口句柄 - 有什么办法来制止这种或重新分配,因为我一收到以下错误的每吨手柄:
'系统错误。 编号:1400无效的窗口句柄”
有没有什么办法来处理这将强制分配新句柄的进程?
我解决了这个执行以下操作:
我的主要形式,创建了永远不会显示一个看不见的“帮手”的形式,但这并具有可视化组件 - 它被扔在它试图重新绘制这些可视化组件的处理错误,所以我替换对象,而不是相关组件(注意我最初没有写这个代码)。
在运行时应用新的样式后,我的应用程序的MainForm中创建一个新的窗口句柄 - 有什么办法来制止这种或重新分配,因为我一收到以下错误的每吨手柄:
'系统错误。 编号:1400无效的窗口句柄”
有没有什么办法来处理这将强制分配新句柄的进程?
我解决了这个执行以下操作:
我的主要形式,创建了永远不会显示一个看不见的“帮手”的形式,但这并具有可视化组件 - 它被扔在它试图重新绘制这些可视化组件的处理错误,所以我替换对象,而不是相关组件(注意我最初没有写这个代码)。
有没有办法来避免重新创建的窗口句柄。 相反,覆盖你的窗口的CreateWnd
和DestroyWnd
方法,使你重新创建一个窗口时通知。
此外,避免保持持久引用到窗口的句柄可能会被破坏。 相反,阅读Handle
每次你需要它的时候属性。 然后,你将不必留意通知。
谨防阅读Handle
从不同的线程,但是,因为它可能导致窗口成为错误的线程相关。 换行需要与VCL窗口交互到您通过调用一个方法的任何代码Synchronize
或Queue
。