Delphi XE2:F12在单位和形式之间切换,无法忍受

Pau*_*aul 2 ide delphi delphi-xe2

这个很长一段时间一直让我烦恼,并且几个月前我已经直接从D2007切换到XE2我不能保证这可能已经开始了,但是在D2007我没有这个问题.

单位越大,在进行代码更改时使用F12在单位和表格之间切换的速度就越慢.即使您取消对表单设计器(返回D7格式),只需在代码更改时单击返回表单,会导致BDS.exe长时间在CPU上最大化.在我的情况下,在我最大的表格(30,000行)上,这可能超过一分钟.我不确定重新激活表单时正在进行哪些检查,但是如果IDE已被"告知"所有内容都是uptodate,则交换机是即时的.因此,我的解决方法是在重新激活表单之前按Ctrl + F9编译表单.编译所花费的时间只有几秒钟.然后,我可以立即切换到表单,没有问题.如果我在切换之前没有编译,那么比较那一分钟或更长的等待我忍受...

那么,除了减小单位尺寸外,还有什么可能性?!

And*_*den 7

LiveBindings设计时包中存在一个错误,它会降低IDE的速度.CodeCompletion(Ctrl + Space)和表单与代码编辑器之间的切换非常慢.
如果您不使用LiveBindings或想要测试它是否真的是LiveBindings设计时代码,您可以在Component/Installed Packages ...下禁用LiveBinding包.他们是Embarcadero LiveBindings Components,Embarcadero LiveBindings Components FireMonkeyEmbarcadero LiveBindings Components VCL.如果禁用第一个,则会自动卸载另外2个.

如果您在项目中使用LiveBindings,则必须等待更新,或者您可以安装适用于XE2IDE修订包,以修复此错误.

  • 在这种情况下,您可以使用Delphi启动Delphi来调试IDE.1.启动Delphi,然后使用Run/Load Process启动"$(BDS)\ bin\bds.exe".在第二个IDE中,您打开项目并进行设计/代码切换.当第二个IDE忙时,您切换到第一个IDE并按*暂停*按钮.双击Thread-Liste中的主线程(第一个线程),查看调用堆栈.这可以帮助您找到减速的原因. (2认同)