AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Treeview mit XML füllen

Offene Frage von ".chicken"
Ein Thema von .chicken · begonnen am 13. Dez 2007 · letzter Beitrag vom 29. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Treeview mit XML füllen

  Alt 27. Dez 2007, 04:19
das objekt TTreeNode hat doch eine data eigenschaft, nutz diese doch.
das interface vom xmlobjekt ist eh ein zeiger, den bekommst du dort rein.
ggf. typcasten

Delphi-Quellcode:
node.data = pointer(xmlnode);

xmlnode:=IXMLDOMNode(node.data);
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#12

Re: Treeview mit XML füllen

  Alt 27. Dez 2007, 11:23
Genau so hab ichs doch gemacht. Aber wenn ich dann was an xmlnode ändere, dann krieg ich ne access violation...
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#13

Re: Treeview mit XML füllen

  Alt 27. Dez 2007, 19:25
ok, dann macht dir das com schwierigkeiten...

hab ein beispiel dran gehängt.

es fehlt dir eine referenz!
mein code ist umsauber beim beenden, jeder knoten muss noch wieder die referenz freigegen.
Angehängte Dateien
Dateityp: 7z xml_159.7z (19,9 KB, 20x aufgerufen)
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#14

Re: Treeview mit XML füllen

  Alt 27. Dez 2007, 23:18
Seh ich mir an, danke!
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#15

Re: Treeview mit XML füllen

  Alt 28. Dez 2007, 00:31
Ok, soweit alles verstanden. Vielen Dank! Nur was macht folgende Zeile?
e._AddRef(); Werde das wenn ich wieder Zeit finde versuchen für mich zu übernehmen und sehen ob weiterhin Fehler auftreten. Hoffe nicht

Soweit schonmal DANKE DANKE DANKE

Edit: Ok, kurz angetestet, nur wenn ich das AddRef hinzufüge, wird keine Access Violation ausgegeben, ohne schon. Also, wo liegt das Geheimnis dieser Zeile? ^^
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#16

Re: Treeview mit XML füllen

  Alt 28. Dez 2007, 19:27
Das Com zählt wieviele Zeiger auf ein Objekt sind, sind keine Zeiger mehr auf einem Objekt wird dieses Objekt freigegeben.
Delphi versucht das automatisch, mit dem Typcast auf Pointer geht das automatische verloren.
Das ComObj wird freigegeben und dein TTreenodezeiger zeigt ins leere mit dem Ergebnis Schutzverletzung.
Mit addref wird der Zeigerzähler (richtig: Referenzzähler) erhöht - ergo das Obj wird nicht freigegeben.
Wenn du dann den Treenode löscht muss! du allerdings den Zähler auch wieder manuell runterzählen.
Sonst wird das ComObj nie freigegeben.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#17

Re: Treeview mit XML füllen

  Alt 28. Dez 2007, 22:08
Âchso, dh wenn ich
Pointer(xyz); Aufrufe, wird sozusagen xyz genillt, wenn xyz nur einen Zeigerzähler hat? Gut zu wissen xD Aber warum? Ist das nicht total unsinnig? ^^

Danke soweit! Ich denke mal manuell runterzählen tue ich mit etwas wie xyz._RemoveRef oder so oder? Wenn es so eindeutig is find ich das dann raus denke ich mal..

Dankeschöööööön
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#18

Re: Treeview mit XML füllen

  Alt 28. Dez 2007, 23:17
das com braucht die zähler zu speicherverwaltung.
das pointer macht nur die delphiwrapper platt.
die vcl/rtl kümmert sich ja viel um speicher (z.B. bei strings)

genillt wird der zeiger nicht, sonst wäre die schutzverletzung in $0
nur das obj dahinter wird freigegeben, also wie:

Delphi-Quellcode:
var
  x: tobject;


x:=tobject.create;
x.free;

// schutzverletzung hier
caption:=x.classname;



runterzählen wie du geschrieben hast - ja
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#19

Re: Treeview mit XML füllen

  Alt 29. Dez 2007, 00:20
Ok, danke nochmals Soweit alles verstanden hoffe/glaube ich ^^
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 +1. Es ist jetzt 21:31 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