2014年11月12日水曜日

Delphiの起動時にエラーが…

8月ぐらいに発生した現象がまた発生していました。

原因は前回と同様の現象です。
Embarcaderoの文章には前回の続報も記載されてありました。
"EditorLineEnds.ttr"エラーについて(続報)

この中で
2014年8月28日にKB2982791の修正版となるKB2993651 がWindows Updateから提供されました。

http://blogs.technet.com/b/jpsecurity/archive/2014/08/28/ms14-045-re-released-2993651.aspx
ということで KB2993651 が諸悪の根源らしいですが、今まで表面化しなかっただけでRAD Studio自体のバグなんでしょうね。

いままで目で動作を見ていなかったのでテンポラリフォルダの中身を見ながらRAD Studioを起動してみます。
パッケージを読み込んだ後に
EditorLineEnds.for
EditorLineEnds.ttf
tmp1b3298ae.tgs
と言うファイルが作成されていました。
終了しても EditorLineEnds.ttf だけが削除されずに残ってしまうために再度起動しようとするとエラーが発生していました。

削除はできないものの、ファイル名の変更や移動が可能です。

(続報)で紹介しているツールはタイマーかフックでフォルダを監視して EditorLineEnds.ttf が作成されたらフォルダを作成してその中に EditorLineEnds.ttf を移動するということを行っていました。
正直なところ余計な常駐物は好きではないのでこの対処方法はスマートとは思えませんでした。

そのツールの説明か何かのリンクだったと思うのですが、記事があり、その中では起動時のバッチファイルの実装が記載されていました。
仕組み的にはこちらの方がスマートだと思います。

ツールや起動用バッチ(スクリプト) が無ければ起動前に次のことを手作業で行えば回避は可能です。
・テンポラリフォルダ中のEditorLineEnds.ttfを別の名前に変更する。

001でもタイムスタンプ的なものをファイル名に含めればほぼ問題ないでしょう。
削除するためにはファイルUnlockの作業が必要なので、再起動後、気が向いたときにでもまとめて削除すればよいでしょう。

余談
ちょっとスクリーンショットでもとろうかと思ってTempフォルダを空に近づけようとしたら5G以上のファイルが存在していました。
いつの間に…と思って片っ端から削除していました。
Windows Vistaのデスクトップも最新のWindowsUpdateを行ったところ同様の現象に陥ってしまいました。またテンポラリフォルダも結構な量のファイルが残っており、削除にえらい時間がかかりました(笑)

0 件のコメント:

コメントを投稿