Zitat von
FrankBrin:
Also eigentlich nichts was noch nicht geschlossen ist! Oder siehst Du in dem VPostStream ein Problem?
Das sieht mal soweit in Ordnung aus.
Ich würde allerdings so speichern:
(die procedure ist "moderner" und eleganter)
Delphi-Quellcode:
procedure StringToFile(const FileName, Contents: AnsiString);
var
fs: TFileStream;
len: Integer;
begin
fs := TFileStream.Create(FileName, fmCreate);
try
len := Length(Contents);
if len > 0 then
fs.WriteBuffer(Contents[1], Length(Contents));
finally
fs.Free;
end;
end;
Später (wenn alles klappt) kannst du dann [TStream].
CopyFrom benützen, ohne Umweg über einen String.
Das Nächste, was du prüfen musst, ist der Dateiname der gespeicherten
XML-Datei.
Du weisst: ein falscher Buchstabe (oder fehlender Backslash) im Dateiname und die Datei kann nicht geöffnet werden.
Deshalb würde ich zuerst mal die Existens der Datei abfragen, bevor mit TXMLDocument geöffnet wird.
Delphi-Quellcode:
if not FileExists(xmldatei) then
begin
// Mitteilung verschicken oder Eintrag in Logdatei
...
end;