アップデートをインストール後、IDEの起動時、または、プロジェクトを開く際に発生する「Access violation at address 00000000 read of address 00000000」について

概要: Delphi/C++Builder 2007(2009)のアップデートをインストールした後、異なった状況下での“Access violation at address 00000000 read of address 00000000”の発生の対処法について説明します

この現象が発生する理由として、複数のアップデートを適用する間に IDEが再起動されなかったことがあげられます。その結果、いくつかのIDEの特定(および重要な)パッケージがレジストリの設定により IDEにロードされなくなってしまいます。

この問題が原因かどうかを確認する最も簡単な方法は、-rオプションをつけてコマンドプロンプトから IDEを起動します。例えば以下のように入力します。

BDS.EXE -rtest

testの部分は、自由な文字列でかまいません。

このオプションは、初期設定で IDEを起動し、オリジナルのパッケージのみがロードされます。この時 IDEは、別のレジストリキーと ”Application Settings”ディレクトリを使用して起動します。

コマンドラインで –rtestと指定した場合、以下のレジストリキーがデフォルトの IDEパッケージの設定と共に作成されます。

Delphi2007, C++Builder2007, RAD Studio 2007の場合

"HKEY_CURRENT_USER\Software\Borland\test\5.0"

Delphi2009, C++Builder2009, RAD Studio 2009の場合

"HKEY_CURRENT_USER\Software\CodeGear\test\6.0"

-rオプションを使用して、問題なく IDEが起動するのであれば、上記の状況が原因である可能性、あるいは、いくつかのサードパーティのパッケージが問題の原因である可能性が高いでしょう。

アイコンから IDEを起動させるための最も簡単な方法は、レジストリキーの

"HKEY_CURRENT_USER\Software\Borland\BDS\5.0"  (Delphi2007, C++Builder2007, RAD Studio 2007の場合)
"HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0"  (Delphi2009, C++Builder2009, RAD Studio 2009の場合)

をリネームし、アイコンから IDEを起動します。デフォルトの状態で起動するのでインストール済みのサードパーティのパッケージはロードされません。起動後、再度、サードパーティのパッケージをインストールしてください。

または、以下のレジストリキーを手動で操作する方法もあります。まず、次のキーを参照します。

HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Known IDE Packages  (Delphi2007, C++Builder2007, RAD Studio 2007の場合)
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Known IDE Packages  (Delphi2009, C++Builder2009, RAD Studio 2009の場合)

先頭に下線(‘_’)が付加されている、あるいは、アンダーバーまたは空白になっている文字列のエントリをチェックすることによって、無効になってしまったパッケージを探してください。

IDEはこれらの無効となったパッケージをロードしません。

たとえば:

 $(BDS)\Bin\startpageide100.bpl      REG_SZ         “_Start Page”
または
 $(BDS)\Bin\startpageide100.bpl      REG_SZ         “”

の場合、IDEはスタートページなしで起動します。

サードパーティまたは標準のパッケージとアセンブリの設定は同様に、以下のレジストリキー下にあります。

Delphi2007, C++Builder2007, RAD Studio 2007の場合

“HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Known Packages” 
“HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Known Assemblies” 
“HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Known IDE Assemblies” 

Delphi2009, C++Builder2009, RAD Studio 2009の場合

“HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Known Packages” 
“HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Known Assemblies” 
“HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Known IDE Assemblies” 

パッケージを再度有効にするには、下線(‘_’)を取り除くか、エントリが空白であれば、適切な名前を入力してください。

Author: Roy Nelson