![]() |
MSXML und Streams. Bin ich zu blöd?
Hallo,
ich hab einigen Beispielcode im Netz gefunden, der aber bei mir einfach nicht kompiliert werden kann.
Delphi-Quellcode:
Was mache ich falsch? Bei den Beispielen scheint es ja zu funktionieren?
procedure Test(const Stream: TStream);
var Adapter: IStream; XMLDoc: IXMLDomDocument; begin XMLDoc := CoDOMDocument.Create(); // Fehler in dieser Zeile aus den Beispielen: // TStreamAdapter und IStream sind nicht kompatibel Adapter := TStreamAdapter.Create(Stream, soReference); // Fehler in dieser Zeile aus den Beispielen: // OleVariant und IStream sind nicht kompatibel XMLDoc.load(Adapter); usw. Grüsse Henryk |
Re: MSXML und Streams. Bin ich zu blöd?
Welcher Fehler meldet der Compiler als Grund?
|
Re: MSXML und Streams. Bin ich zu blöd?
Hallo Markus,
er meldet, dass TStreamAdapter und IStream nicht kompatibel sind. So geht es:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.ButtonClick(Sender: TObject);
var fs: TFileStream; dom: IXMLDOMDocument2; begin dom := CoDomDocument.Create; dom.async := False; fs := TFileStream.Create(ParamStr(1), fmOpenRead or fmShareDenyWrite); if dom.load(TStreamAdapter.Create(fs, soReference) as IStream) then ShowMessage(dom.xml) else ShowMessage(dom.parseError.reason); fs.Free; end; |
Re: MSXML und Streams. Bin ich zu blöd?
Hallo Achim,
ich habe mir den Code nicht angeschaut. Ich bin halt der Meinung, daß der Fragesteller die geanue Fehlermeldung angibt wenn er Hilfe erwartet. |
Re: MSXML und Streams. Bin ich zu blöd?
Ich hatte die Fehlermeldung nicht reproduziert, sondern lediglich zitiert - allerdings ohne das Zitat als solches kenntlich zu machen:
Zitat:
|
Re: MSXML und Streams. Bin ich zu blöd?
Das habe ich nicht gesehen. :oops:
|
Re: MSXML und Streams. Bin ich zu blöd?
Hallo Achim,
was muss ich denn einbinden, damit mein Delphi D2005 den Typen IXMLDOMDocument2 kennt? Ich hab diesen Typen nirgendwo gefunden. Kopier ich dein Beispiel in meine WIN32-Anwendung und ersetze IXMLDOMDocument2 durch IXMLDOMDocument, bekomme ich trotzdem wieder den gleichen Fehler, dass IStream und TStreamAdapter nicht kompatibel sind. Für IStream binde ich die Unit Ole2 ein. Zitat:
Delphi-Quellcode:
Nur dieses sinnlose StringStream.CopyFrom gefällt mir aus Effizienzgründen nicht.
...
StringStream := TStringStream.Create(''); XMLDoc := CoDOMDocument.Create(); try StringStream.CopyFrom(Stream, Stream.Size); XMLDoc.loadXML(StringStream.DataString); ... Grüsse Henryk |
Re: MSXML und Streams. Bin ich zu blöd?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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-2025 by Thomas Breitkreuz