auf True um. Ich stieß auf unerwartetes Verhalten von TListItem. Überprüfen Sie den folgenden Testcode:TListItem.Checked schaltet sich nach Assign()
var
Item: TListItem;
//...
ListView1.Checkboxes := True;
with ListView1.Items.Add do
begin
Caption := 'old item';
Checked := False;
end;
Item := TListItem.Create(ListView1.Items);
Item.Caption := 'new item';
Item.Checked := False;
ListView1.Items[0].Assign(Item);
Assert(ListView1.Items[0].Caption = 'new item');
Assert(ListView1.Items[0].Checked = False); //WTF
Assertionsfehler tritt auf, da die Checked-Eigenschaft sich irgendwie auf True umschaltet. Zu diesem Verhalten habe ich keine Hinweise in der Hilfedatei gefunden.
Ist das ein Fehler oder eine Funktion?
Ich benutze Delphi 7 mit allen Updates.
Dies hat nichts mit 'Assign()' zu tun. Fügen Sie 'Assert (nicht Item.Checked);' vor 'Assign' ein und Sie werden sehen, dass es fehlschlägt. –