2012-01-20 16 views
2

これは長時間私を悩ませていて、D2007からXE2に数ヶ月前に直接切り替わってしまいましたが、これが始まったときには保証できません。 D2007私は問題がなかった。Delphi XE2:ユニットとフォームの間の過度の切り替えが遅い

単位が大きくなるほど、コードを変更したときにF12を使用して単位とフォームを切り替える速度が遅くなります。 (たとえD7形式に戻って)フォームデザイナをドッキング解除しても、コードが変更されたときにフォームに戻ってクリックするだけで、BDS.exeがCPU上で最大限に長くなります。私の場合、私の最大のフォーム(30,000行)でこれは1分以上かかることがあります。フォームを再アクティブ化するときにどのようなチェックが行われているのかよく分かりませんが、IDEがすべて最新であることを「指示」されていれば、スイッチは即座に動作します。したがって、私の回避策は、フォームを再アクティブ化する前にCtrl + F9を押してフォームをコンパイルすることです。コンパイルにかかる時間はわずか数秒です。私は問題なくフォームに即座に切り替えることができます。コンパイルする前にコンパイルしないともう少し待ってください...

それでは、ユニットサイズを小さくすることはどうですか?

+4

あなたは**本当に**あなたが30個のK LOCユニットを持っている場合は、ユニットのサイズを減らすことを検討すべきです。 –

+0

おそらくAndreas HausladenのIDE修正パックもこの問題を解決するのに役立ちます(私は確かに分かりません)。http://andy.jgknet.de/blog/ide-tools/ide-fix-pack-2009-10/を参照してください。 – ain

答えて

7

LiveBindingsデザイン時パッケージにIDEの速度が低下するバグがあります。 CodeCompletion(Ctrl + Space)とフォームとコードエディタの切り替えは非常に遅いです。
LiveBindingを使用していない場合、または実際にLiveBindingsのデザインタイムコードであるかどうかをテストする場合は、コンポーネント/インストール済みパッケージ...の下でLiveBindingパッケージを無効にすることができます。それらはEmbarcadero LiveBindings Components,Embarcadero LiveBindings Components FireMonkeyおよびEmbarcadero LiveBindings Components VCLです。最初のものを無効にすると、他の2つは自動的にアンロードされます。

プロジェクトでLiveBindingを使用する場合は、アップデートを待つか、IDE Fix Pack for XE2をインストールしてこのバグも修正する必要があります。

+0

アンディー、私が最初に行うことの1つは、どのバージョンのDelphiでもフィックスパックをインストールすることです。私はすでに4.6.6とuptodateですが、私はまだこの減速を経験しています。また、あなたが言いましたライブバインディングパッケージを無効にしました。まだ分​​かかります。 – Paul

+2

その場合、IDEをデバッグするためにDelphiをDelphiで起動することができます。 1. Delphiを起動し、実行/読み込みプロセスを使用して "$(BDS)\ bin \ bds.exe"を開始します。 2番目のIDEでは、プロジェクトを開いてデザイン/コードの切り替えを行います。 2番目のIDEがビジーのときは、1番目のIDEに切り替えて* Pause *ボタンを押します。 Thread-Listeのメインスレッド(1番目のスレッド)をダブルクリックし、呼び出しスタックを見てください。これは、あなたが減速の原因を見つけるのに役立ちます。 –

+0

delphicoreide160。@ Pasmgr @ TPascalScanner @ NextToken $ qqrv: – Paul

1

「RAD StudioのXE Hotfix for RAID 280864(QC 88928)」をインストールした後に修正しました。

ページ:https://edn.embarcadero.com/article/41312

+0

バックグラウンドでのコンパイル時に発生するIDEハングアップを修正する「Delphi XE、C++ Builder XEおよびRAD Studio XE Hotfix for QC 90864」もインストールします – Diego

関連する問題