掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コントロールは親ウィンドウを持っていません、というエラーの対策方法 (ID:1321)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
描画時に、デバイスコンテキストの取得・解放をするようにしてみてはどうですか? > if (FMaxLines > 0) and (Lines.Count > MaxLines) then ここでエラーが出たと言うことは、おそらくLines.Countが原因です。 Lines.CountのLinesは、TMemoStringsで、そのCreateがされていないのだと思います。 Createは、 constructor TCustomMemo.Create(AOwner: TComponent); begin inherited Create(AOwner); Width := 185; Height := 89; AutoSize := False; FWordWrap := True; FWantReturns := True; FLines := TMemoStrings.Create; TMemoStrings(FLines).Memo := Self; end; と、TCustomMemoでしていて、Selfを入れているし、TMemoStrings.GetCountでは、 Memoに大してHandleAllocatedを調べ、存在すればメッセージを送っています。 カスタムコンポーネントのCreateは、ちゃんと procedure TMyMemo.Create(AOwner: TComponent); override; begin inherited Create(AOwner); ・・・から始まっていますか? 結構、inherited;と間違えてかく場合があります。引数を指定しないと、TObjectのCreateしか呼べません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.