AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MSXML und TurboDelphi

Ein Thema von blooddog_90 · begonnen am 20. Okt 2010 · letzter Beitrag vom 20. Okt 2010
Antwort Antwort
blooddog_90

Registriert seit: 23. Sep 2007
24 Beiträge
 
Turbo Delphi für Win32
 
#1

MSXML und TurboDelphi

  Alt 20. Okt 2010, 10:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: MSXML und TurboDelphi

  Alt 20. Okt 2010, 11:00
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.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

AW: MSXML und TurboDelphi

  Alt 20. Okt 2010, 11:01
Ich hab' die Bibliothek mal mit Delphi 5 importiert. Mehr hab' ich auf der Arbeit nicht installiert.
Angehängte Dateien
Dateityp: zip MSXML2_TLB_6.zip (40,2 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.603 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: MSXML und TurboDelphi

  Alt 20. Okt 2010, 11:14
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?
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (20. Okt 2010 um 11:23 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf