Reputation: 1458
My TMemo descendant has constructor
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Lines.Clear;
end;
When I put TMyMemo on the form I get error "Control '' has no parent window.". Why?
Upvotes: 3
Views: 631
Reputation: 43659
A newly created memo has no content. But content is added as soon as the component acquires a name, which is done automatically by the designer. To prevent this, remove csSetCaption
from ControlStyle
:
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle - [csSetCaption];
end;
Upvotes: 17
Reputation: 80197
Move Lines.Clear to overriden method CreateWnd. Underlying window control (multiline edit) doesn't exist during Create execution
Upvotes: 0