掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
グラフィックコントロールの問題 (ID:17235)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>実行終了時に EPrivilege 例外が発生してしまいます 実行終了時,つまり,コンポーネントが削除される時には,SetParentの AParentがなくなっています.そこで例外が発生すると思われます. 以下のコードでテストしました.これですと例外は発生しません. procedure TChildControl.Paint; begin inherited; Canvas.Rectangle(ClientRect); end; constructor TSampleControl.Create(AOwner: TComponent); begin inherited; end; procedure TSampleControl.Paint; begin inherited; Canvas.Rectangle(ClientRect); end; procedure TSampleControl.SetParent(AParent: TWinControl); begin inherited; //AParent=nilでは(コン削除時も含む)では何もしない (*ここがミソ) if AParent=nil then exit; if not Assigned(FChildControl) then begin FChildControl:= TChildControl.Create(Self); FChildControl.Name:= 'ChildControl'; FChildControl.Width:= 100; FChildControl.Height:= 100; FChildControl.Parent:= AParent; FChildControl.Visible:= True; end; end; procedure TSampleControl.SetChildControl(Value: TChildControl); begin FChildControl:= Value; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.