AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VirtualStringTree Reindex bei Drag&Drop verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree Reindex bei Drag&Drop verhindern

Ein Thema von Alois · begonnen am 30. Okt 2009 · letzter Beitrag vom 31. Okt 2009
Antwort Antwort
Alois

Registriert seit: 23. Jul 2005
71 Beiträge
 
Delphi 10 Seattle Professional
 
#1

VirtualStringTree Reindex bei Drag&Drop verhindern

  Alt 30. Okt 2009, 07:41
Hallo,

kann ich wie bei vst.DeleteNode(SelectedNodes[i], false) auch bei der Drag&Drop-Funktion den Reindex abschalten?

Ich möchte gerne über ein Hintergrunddienst auf Node.Index zugreifen, der sich aber während der Ausführung des Multithread-Programmteils nicht ändern darf.

Oder kann ich das Reindex generell im vst abschalten?

Gruss Alois
  Mit Zitat antworten Zitat
Alois

Registriert seit: 23. Jul 2005
71 Beiträge
 
Delphi 10 Seattle Professional
 
#2

Re: VirtualStringTree Reindex bei Drag&Drop verhindern

  Alt 31. Okt 2009, 15:26
Hi VST Fans,

ist kein VST Guru an Board der mir die Frage beantworten kann? Geht oder Geht nicht?
Oder habe ich mich bdei der Beschreibung meines Problems falsch ausgedrückt?

Normalerweise sieht der vst Index einer Tabelle so aus:
Code:
Node.Index AbsoluteIndex
     0           0
     1           1
     2           2
     3           3
Nach dem Löschen einer Zeile (im Beispiel die Zeile Nr. 1) über vst.DeleteNode(SelectedNodes[i], false):
Code:
Node.Index AbsoluteIndex
     0           0
     2           1
     3           2
Wenn ich nun die Zellen über Drag und Drop verschiebe sieht das ganze wieder so aus:
Code:
Node.Index AbsoluteIndex
     0           0
     1           1
     2           2
Ich hätte aber ganz gerne das bei Drag&Drop der alte Index erhalten bleibt, wie bei DeleteNode.

Gruss Alois
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: VirtualStringTree Reindex bei Drag&Drop verhindern

  Alt 31. Okt 2009, 15:38
Ich vermute einfach mal, das beim Delete der Node nur als gelöscht markiert wird, er aber dennoch in der Liste verbleibt.
Oder es gibt einen Fehler, welcher die Indize nicht neu berechnet, da sie zur Optimierung in den Nodes zwischengespeichert werden.

Beim Verschieben werden die Nodes aber an anderer Stelle neu eingeügt und erhalten dadurch eine neue Idizierung.

Die Frage ist nun, warum willst du diesen Index beibehalten?
Als eindeutiges Erkennungsmerkmal für einen Node ist dieser Index nicht geeignet.
$2B or not $2B
  Mit Zitat antworten Zitat
Alois

Registriert seit: 23. Jul 2005
71 Beiträge
 
Delphi 10 Seattle Professional
 
#4

Re: VirtualStringTree Reindex bei Drag&Drop verhindern

  Alt 31. Okt 2009, 15:44
Zitat von himitsu:
Ich vermute einfach mal, das beim Delete der Node nur als gelöscht markiert wird, er aber dennoch in der Liste verbleibt.
Oder es gibt einen Fehler, welcher die Indize nicht neu berechnet, da sie zur Optimierung in den Nodes zwischengespeichert werden.

Beim Verschieben werden die Nodes aber an anderer Stelle neu eingeügt und erhalten dadurch eine neue Idizierung.

Die Frage ist nun, warum willst du diesen Index beibehalten?
Als eindeutiges Erkennungsmerkmal für einen Node ist dieser Index nicht geeignet.
Genau das wollte ich wissen. Zu Zeit arbeite ich in meiner Tabelle mit dem Node.Index und das hätte zur eindeutigen Identifizierung
der einzelnen Einträge gerade so schön gepasst. Also muss ich mir wohl einen eigenen Index basteln.

Wäre ja zu schön gewesen.

Gruss Alois
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:48 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