在运行时应用新样式后,我的应用程序的MainForm创建一个新的窗口句柄 - 有没有办法停止此操作或重新分配句柄,因为我得到了一吨以下错误:
'系统错误.代码:1400.窗口句柄无效'
有没有办法操纵强制分配新句柄的过程?
我解决了这个问题:
我的主要表单创建了一个从未显示的看不见的"帮助"表单,但它确实有可视组件 - 它在尝试重绘这些可视组件时抛出了句柄错误,所以我用对象替换了相关组件(注意我最初没有写这段代码).
我正在开发一个大型delphi应用程序,其中包含一大堆遗留代码,正在转换为xe2.我正在实现vcl样式,并且大多数情况下没有问题.
但是在某些形式上,特别是在我有tpanel的地方,页面控件和标签页上,标签页有时无法正确绘制.它们显示以前在标签页所在区域中的任何图像.因此,当表单首次显示它将是我的计算机上的背景屏幕,但如果我更改选项卡,选项卡背景/标签/组件似乎重叠.
这只发生在我使用vcl样式时,如果我不应用样式,一切似乎都正常显示.
它只出现在某些选项卡上.我试图隔离可能导致此问题的特定属性或方法调用(或缺少),但我真的很挣扎,特别是考虑到此代码中调用的方法的纯大小(在某些形式中,触发的方法)选项卡更改超过1000行代码).
我去拍了一些屏幕截图来演示这种情况,但屏幕截图上的表格都是正确呈现的.这告诉我,我所看到的和实际上"存在"之间存在某种脱节.
任何建议都将非常感激.