![]() |
Wie eine TClientDataSet mit Daten klonen ?
Hallo,
wie kann ich eine TCDS1 im Laufzeit mit Daten zu TCDS2 kopieren/klonen (unabhängig von einander), damit ich beim TCDS1 Änderungen vornehmen kann und später TCDS1 rückgängig machen (d.h. TCDS1:= TCDS2) und TCDS2 löschen?
Delphi-Quellcode:
mfg
var TCDS1, TCDS2: TClientDataSet;
TCDS1:= TClientDataSet.create; TCDS2:= TClientDataSet.create; TCDS2:= TCDS1; // geht das ???? |
Re: Wie eine TClientDataSet mit Daten klonen ?
Geht es nicht so?
TCDS2.Assign(TCDS1) Bin mir nicht sicher. Grüße Klaus |
Re: Wie eine TClientDataSet mit Daten klonen ?
Was willst du erreichen? Eine Kopie der Daten anlegen? Das geht am sichersten via SaveToStream / ReadFromStream.
Unter Clonen versteht TClientDataSet eine neue Sicht (für unterschiedliche Filter, unterschiedliche Sortierung u.ä.) auf die bestehenden Daten anlegen (die dabei gerade nicht kopiert werden) und stellt dazu die Methode "CloneCursor" zur Verfügung. Dein Beispielcode erstellt 2 (leere) DataSets, überschreibt dann aber den Zeiger auf den 2. und macht diesen zu einer Speicherleiche! "Assign" geht soweit ich weiss nicht. PMM |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz