Hallo,
für einen Editor möchte ich zunächst die Original Daten kopieren um diese dann einem Editor zu übergeben.
Dadurch kann ich beim Editor den Abbruch Button verwenden um wieder die originalen Daten zu haben.
Für die
XML Datenstruktur habe ich den Wizard des BDS2010 verwendet.
Lade ich nun eine Datei, so zeigt mir das Memo auch an, dass genau zwei Elemente da sind.
Dann kopiere ich diese Daten mit Hilfe eines memoryStreams in eine neue Datenstruktur.
und dort sind dann keine Elemente mehr vorhanden.
Liegt hier ein Bug meinerseits vor?
zu Testzwecken lade ich Datei nochmal (2. copy) über "NewCutprograms" und "LoadFromFile".
Auch hier wird fehlerhaft die Anzahl mit 0 angegeben.
Code:
procedure TForm20.Button1Click(Sender: TObject);
var
XMLCutprogramList : IXMLCutprogramsType;
XMLCutprogramCopy : IXMLCutprogramsType;
MemoryStream : TMemoryStream;
begin
Memo1.Lines.Clear;
// orig:
XMLCutprogramList := LoadCutprograms(ed1.Text);
Memo1.Lines.Add(Format ('orig. Count: %d', [XMLCutprogramList.Count]));
MemoryStream := TMemoryStream.Create;
XMLCutprogramList.OwnerDocument.SaveToStream(MemoryStream);
// copy:
MemoryStream.Position := 0;
XMLCutprogramCopy := NewCutprograms;
XMLCutprogramCopy.OwnerDocument.LoadFromStream(MemoryStream);
Memo1.Lines.Add(Format ('copy. Count: %d', [XMLCutprogramCopy.Count]));
MemoryStream.Free;
// 2. copy:
XMLCutprogramCopy := NewCutprograms;
XMLCutprogramCopy.OwnerDocument.LoadFromFile(ed1.Text);
Memo1.Lines.Add(Format ('2 copy. Count: %d', [XMLCutprogramCopy.Count]));
end;
mfg