标签: delphi 64-bit delphi-2007
我遇到问题,在Windows Server 2003或2008等64位窗口中运行时,表单上的内容更新不正确。有一个简短的视频可以在screencast说明这一点。
当我调整主窗口大小时,内容不会重新绘制。但如果我更换小分割器,它会重新粉刷。在32位Windows上,一切都很完美。 我没有为此做过任何OnResize事件。
有什么想法吗?
编辑:是的,可执行文件是32位。它只是Windows操作系统的64位。
答案 0 :(得分:8)
这是由于必须有许多嵌套控件/窗口引起的。 64位Windows的堆栈大小小于32位。如果存在全局WH_CALLWNDPROC挂钩,则会变得更小。 WM_SIZE消息事件处理获取Windows内核吃掉的堆栈溢出。请参阅here和修正here。另请参阅here了解同一问题。
WH_CALLWNDPROC
WM_SIZE
PS:WinForms也受same problem。