2013-05-27 9 views
7

TCustomControlから継承したカスタムコントロールを作成し、AlignTControlというプロパティを公開しました。私はC++ Builderプロジェクトでは、このカスタムコントロールを使用する場合でも、それは例外TCustomControlから継承すると、プロパティの整列が存在しません

Project Launcher.exe raised exception class EReadError with message 'Property Align does not exist'.

これは、カスタムコントロールのコードであるを上げました。

unit GameListCtrl; 

interface 

uses 
    SysUtils, Classes, Controls; 

type 
    TGameList = class(TCustomControl) 
    private 
    protected 
    procedure Paint; override; 
    public 
    { Public declarations } 
    published 
    property Align default alLeft; 
    end; 

implementation 

{ TGameList } 

procedure TGameList.Paint; 
begin 
    inherited; 
end; 

end. 
+0

TCustomControlが実際に正しいVcl.Controls.TCustomControlを参照していることを確認しましたか? – Peter

+0

@PeterVončaはい、Vcl.Controls.TCustomControlを参照しています。 – UltimaWeapon

答えて

11

この種のエラーは、パッケージが正しく再構築されなかった場合に発生することがよくあります。次に、パッケージを再構築するユニット "GameListCtrl"を含むパッケージプロジェクトを開く必要があります。 RAD StudioでC++ Builderファイルを作成するオプションを有効にしてください。

リンカが間違った/古いDCUまたはobjファイルを選択するのに役立たない場合は、すべてのドライブを検索し、見つけることができるすべてのGameListCtrl.dcuおよびGameListCtrl.objファイルを削除します。私はJAM SoftwareのUltraSearchを使って自分のローカルドライブをすばやく検索しますが、Windows Searchよりもはるかに高速です.NTFS構造上で直接動作するためです。

また、プロジェクトオプションの静的リンクに切り替えることもできます。

+1

すべてのパッケージファイルを削除して再構築した後。それは今働いた。ありがとうございました。 – UltimaWeapon

関連する問題