Hallo Andreas,
Zitat von
EConvertError:
Oder kann ich Output auf meinen FileStream umleiten?
eine clevere Frage. Ich habe den entsprechenden Code mal angepasst:
Delphi-Quellcode:
begin
// ...
fn := '
c:\daten\dp\sax-demo.xml';
fs := TFileStream.Create(fn, fmCreate);
wrt := CoMXXMLWriter.Create;
cnth := wrt
as ISAXContentHandler;
wrt.output := TStreamAdapter.Create(fs, soReference)
as IStream;
cnth.startDocument;
dc.Serialize(cnth);
cnth.endDocument;
wrt.flush;
fs.Free;
// ...
end;
Die wichtige Zeile ist die, in der eine IStream-Schnittstelle an wrt.output übergeben wird.
Zitat von
EConvertError:
Könntest du mir erklären, was das für eine Art von String-Paramemter-Übergabe ist: cnth.endElement(Word(sEmpty[1]), 0, ...
Ich bin es eher gewöhnt, einen String als PChar an eine
API-Funktion zu übergeben...
Genau das passiert hier, allerdings nicht für einen Single-Byte-Character String, sondern für einen Double-Byte-Character String.
Grüße vom marabu