未定義の識別子「AutoPostBackControl」のコンパイルエラーについて

Abstract: 未定義の識別子「AutoPostBackControl」のコンパイルエラーに関して説明いたします

In This Article

対象となる製品:

RadStudio 2007

対象となる.NET環境:

Microsoft .NET Framework 3.5 SP1 (もしくは単体の.NET Framework 2.0 SP2)が適用済

02000003

現象

02000003

Delphi for .NET 2007でASP.NETアプリケーションを作成、そしてコンパイルを行なうと以下のコード箇所が原因となり、コンパイルエラーが生じます。

Self.AutoPostBackControl := nil;

具体的なエラーメッセージは、以下の通りです。

[DCC エラー] Default.pas(39): E2003 未定義の識別子 : 'AutoPostBackControl'

原因

02000003

この症状は、以下の環境で再現いたします。

Microsoft .NET Framework 3.5 SP1(.NET Framework 2.0 SP2を含む)

Microsoft .NET Framework 2.0 SP2

02000003

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

02000003

そして.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)

02000003

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

解決方法

02000003

本件を解決するには、Delphi for .NETコンパイラが参照するSystem.Web.dcpilファイルを最新に保つ必要があります。

そのためには、以下の手順によって、System.Web.dcpilファイルの再生成を行ってください。

  1. $(BDS)\lib\System.Web.dcpilファイルを別のフォルダへ移動する
  1. Delphi for .NET を起動し、新規にASP.NETプロジェクトの作成、もしくは既存のASP.NETプロジェクトを開く
  1. プロジェクトを再構築する
  1. 再生成されたSystem.Web.dcpilファイルを$(BDS)/libフォルダへ移動する

02000003

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

02000003

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

0200000302000003


Published on: 4/1/2009 2:01:26 AM

Server Response from: SC1

Copyright© 1994 - 2009 Embarcadero Technologies, Inc. All rights reserved.