Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi MSXML und TurboDelphi (https://www.delphipraxis.net/155357-msxml-und-turbodelphi.html)

blooddog_90 20. Okt 2010 09:32

MSXML und TurboDelphi
 
Hallo Delphi Praxis!

Ich nutze derzeit Turbo Delphi. Schon am Anfang stand ich da vor dem Problem dass man keine TypenBibliotheken importieren kann. Aber weils eben kostenlos damals war habe ich nun das alte Turbo Delphi ausgekramt. (Vielleicht gibts da ja jetzt Alternativen?)
Also nutzte ich die folgende Unit:
http://delphi.codefetch.com/example/...MSXML2_TLB.pas

Diese basiert ja noch auf MSXML 4.0 wie man an der Type Lib sehen kann (jedenfalls liegt da bei mir in system32 schon msxml6).

Jedenfalls habe ich diese bei mir in den Ordner BDS\4.0\Imports gelegt und es funktioniert ganz gut.

Danach wollte ich dass er mir irgnedwas ausspuckt. Aber wo auch immer ich suche im Internet finde ich etwas zum TXMLDOMDocument aber nicht zu MSXML. Ich hab mal ein älteres Tutorial gefunden aber das ist schon von 2003, hier in DP. Auch bei Microsoft gibt es ja in der Dokumentation nur was zu vielen anderen Sprachen aber eben nicht Delphi.

Ich habe folgenden Code benutzt der bei mir aber eben nicht funktioniert:

Delphi-Quellcode:
web: TIdHTTP;

procedure TForm1.Button1Click(Sender: TObject);
begin
  str := utf8decode(web.Get(url));
  assignfile(x,'mydoc.xml');
  reset(x);
  rewrite(x);
  write(x,str);
  closefile(x);
  memo1.Text := str;
  xml := CoDOMDocument40.Create;
  xml.setProperty('NewParser', true);
  xml.load('mydoc.xml');
  oNode := xml.documentElement.childnodes;
  showmessage(oNode.firstChild.nodeValue);
end;
Dieser Code jedoch bringt mir dann eine Zugriffsverletzung. Warum?

Und hat eventuell noch jemand den Code für eine .dcu von MSXML 6.0?
Ich würde ja gern himXML nutzen aber leider war ich nicht intelligent genug eigenständig herauszufinden wie ich sie in meinem Projekt nutze oder für immer in TurboDelphi etabliere!

Dankeschön,
ich.

sirius 20. Okt 2010 10:00

AW: MSXML und TurboDelphi
 
Bei Turbo Delphi leigt auch die TlibImp.exe bei. Du hast zwar keinen Menupunkt mehr um diese zu bedienen, aber per Kommandozeile funktioniert es noch (suche mal hier im Forum danach)

Was an dem Code falsch ist, kann ich dir leider jetzt nicht sagen.

Satty67 20. Okt 2010 10:01

AW: MSXML und TurboDelphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab' die Bibliothek mal mit Delphi 5 importiert. Mehr hab' ich auf der Arbeit nicht installiert.

himitsu 20. Okt 2010 10:14

AW: MSXML und TurboDelphi
 
Wo genau tritt denn die Zugriffsverletzung auf? (in welcher Codezeile)

Wie sieht die XML-Datei aus?

Warum speicherst du den Text erst in einer Datei und übergibst ihn nicht direkt an die XML-Klasse?
Delphi-Quellcode:
xml.loadXML(str);
.

Und wenn man nicht unbedingt spezielle/neue Methoden von der neuen Version benötigt, dann kann man das 6.0 auch selber implementieren und die Interfaces des 4.0 verwenden, welche auch noch im 6.0 vorhanden sind.
Delphi-Quellcode:
const CLASS_DOMDocument60: TGUID = '{88D96A05-F192-11D4-A65F-0040963251E5}';

xml := CreateComObject(CLASS_DOMDocument60) as IXMLDOMDocument2;
Wieso sollte ausgerechnet MSXML 6.0 diesen Fehler beheben ... bzw., warum muß es unbedingt MSXML 6.0 sein?

Zitat:

aber leider war ich nicht intelligent genug eigenständig herauszufinden wie ich sie in meinem Projekt nutze oder für immer in TurboDelphi etabliere!
- downloaden
- entpacken
- und den Hauptordner in die Suchpfade von Delphi aufnehmen
(Menü > Tools > Optionen... > Umgebungsoptionen > Delphi-Optionen > Win32 > ...)
- also praktisch genauso, wie z.B. das Importieren der MSXML2_TLB_6


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz