Wo ist das
inherited
in
TMyItem.Create;
?
Und wenn du weißt, daß es am SetLines liegt und der kein NIL verträgt, warum fängst du das da dann nicht ab?
Delphi-Quellcode:
if Assigned(Value) then
FLines.Assign(Value)
else
FLines.Clear;
PS:
property Lines: TStrings read FLines write AssignLines;
Der "leere" Getter weggelassen und der Setter umbenannt ... schon hat man eine Methode eingesparrt und die Andere heißt so, wie das, was sie macht.