対象となる製品:
RadStudio 2007
対象となる.NET環境:
Microsoft .NET Framework 3.5 SP1 (もしくは単体の.NET Framework 2.0 SP2)が適用済

現象

Delphi for .NET 2007でASP.NETアプリケーションを作成、そしてコンパイルを行なうと以下のコード箇所が原因となり、コンパイルエラーが生じます。
Self.AutoPostBackControl := nil;
具体的なエラーメッセージは、以下の通りです。
[DCC エラー] Default.pas(39): E2003 未定義の識別子 : 'AutoPostBackControl'
原因

この症状は、以下の環境で再現いたします。
・Microsoft .NET Framework 3.5 SP1(.NET Framework 2.0 SP2を含む)
・Microsoft .NET Framework 2.0 SP2

また.NET Framework 3.5 (SP無し)や.NET Framework 2.0 SP1がインストールされている環境では再現いたしません。

そして.NET Framework 2.0 SP2でSysetm.Web.UI.Pageクラスの当該プロパティに対する仕様が変更されていることが、1つの要因となります。
Rad Studio 2007 の製品出荷時、Delphi for .NETコンパイラによって、.NET 2.0アセンブリをプリコンパイルしたパッケージファイル(.dcpil)が$BDS\lib以下に格納されています。
($BDSのデフォルトは、C:\Program Files\CodeGear\Rad Studio\5.0)

このプリコンパイル済の.dcpilファイルが.NET 2.0 SP2で仕様変更された箇所のデータを含んでいないため、上記のエラーが生じます。
解決方法

本件を解決するには、Delphi for .NETコンパイラが参照するSystem.Web.dcpilファイルを最新に保つ必要があります。
そのためには、以下の手順によって、System.Web.dcpilファイルの再生成を行ってください。
- $(BDS)\lib\System.Web.dcpilファイルを別のフォルダへ移動する
- Delphi for .NET を起動し、新規にASP.NETプロジェクトの作成、もしくは既存のASP.NETプロジェクトを開く
- プロジェクトを再構築する
- 再生成されたSystem.Web.dcpilファイルを$(BDS)/libフォルダへ移動する

プリコンパイル済の.dcpilファイルは、下記のフォルダ内に再生成されます。

Windows XP:
C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\dcp
Windows Vista:
C:\Users\Public\Documents\RAD Studio\5.0\dcp

