AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VirtualTreeView - Wer hat die Weiterentwicklung übernommen
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualTreeView - Wer hat die Weiterentwicklung übernommen

Ein Thema von jbg · begonnen am 3. Jan 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Seite 6 von 11   « Erste     456 78     Letzte »    
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#51

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 18. Mär 2009, 08:09
Hallo R2009,

das Smiley am Ende meines Beitrages sollte dessen Ironie ausdrücken. Leider nicht angekommen.

Natürlich ist Doku wichtig und auch Beispiele, die man einfach versteht und nachvollziehen kann. Wie gesagt, bin ich auch bereit ein paar neue Demos beizusteuern.

Und auch wenn der Start mit VST schwer ist, verspreche ich Dir, das sich der Einsatz, sich da einzuarbeiten bezahlt macht. Ich weiß gar nicht, was ich ohne VST noch machen würde. Dieses universelle Teil hat bei uns sämtliche unnutzbaren Grids (DB-, String-,...) abgelöst.

Natürlich kenne auch ich nicht alle Tiefen des Vst, aber was ich brauch, das geht hervoragend.

Also bleib dran,

Sven
Sven Harazim
--
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#52

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 18. Mär 2009, 08:31
Zitat von R2009:
...
Solche Aussagen sin der erste Schritt zum Tod eines Tools oder hier des VST.
Es gibt keine fehlerfreie Software.

Vile Grüsse

Ich glaub nicht das VST sterben wird.
VST ist die einzige Delphi Komponente, die bei mir nach einer Installtion von Delphi sofort drauf muss.
Es gibt keinen Grid und keinen Treeview, das annähernd so gut ist.

Man kann damit mehr machen als die meisten im ersten Augenblick vermuten. Das Ding ist echt ne Eierlegendewollmilchsau...wer es nicht nutztn möchte, bitte schön.

Am Anfang als ich VST noch nicht kannte, hätte ich mir auhc mehr Doku gewünscht, um den Einstrieg zu erhalten. Aber seien wir mal ehrlich, das Ding ist kostenlos, was will ich mehr?

@R2009 Die Autoren von VST wird es denke ich nicht interessieren, ob du VST nutzen möchtest oder nicht, sie wollen für die immensen Leistungen, die sie in dieses Produkt gesteckt haben keine Vergütung haben und du meckerst, weil keine "ausreichende" Doku dabei ist. Eine Doku darüber wäre ein ganzes Buch, das Ding kann wie gesagt viel mehr als du denkst. Im ganzen Internet und auch hier im Forum sind ettliche Beispiele, ausserdem kann man hier auch fragen bei Problemen stellen.

Ach wenn es den Eindruck macht ich wolle dich zum nutzen des VST bekehren, mitnichten.
Wer Vorteile nicht nutzen möchte, der soll mal schön bei Stringgrid und Treeview bleiben, das passt schon.


Edit: Das wichtigste hab ich glatt vergessen.....
DANKE! an alle Entwickler von VST, natürlich einen besonderen Dank an den Vater des Ganzen, einen großen Dank an Mike Lischke.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#53

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 18. Mär 2009, 11:01
Hi sh17,

eigentlich wollte ich dich (euch) ja nur dazu bringen das Ganze etwas durchsichtiger zu machen.
Vielleicht ist auch gut mal etwas nicht zu implementieren (man kann nicht alle Wünsche erfüllen).
Ich hatte auf jeden Fall, für ein zu renovierendes Tool, die Auswahl den VST zu nehmen oder ein
Eigenkonstrukt. Noch ist die endgültige Entscheidung nicht gefallen.
Ohne das Video von Daniel hätte ich nicht die Spur einer Chance gehabt.
Mit Video ging das so mit ach und krach. Ich bin nicht alleine meine Kollegen, alles professionelle
Informatiker ging das genauso.

Seht das als konstruktive Kritik. Macht etwas in Richtung Tutorial.
Vielleicht kann unsereins ja helfen. Wär nicht schlecht.

Viele Grüsse
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#54

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 18. Mär 2009, 11:13
Ich kenn jetzt das Video von Daniel nicht, aber es gibt ja schon mal ein paar verschiedene Möglichkeiten Daten anzeigen zulassen - und alle haben ihre Berechtigung. Manche sind komplizierter als andere

z.b. über .RootNodeCount := und OnInitNode
oder über .AddNode

Die Anzeige über Records und .GetNodeData oder direkt über Referenzen (Node.Index)

usw.

Kommt halt immer auf den Anwendungsfall an. Deinen kennen wir jetzt hier nicht.

Da es jetzt OT wird.

Wohin sollte ich den neue Demos schicken, falls gewünscht. Damit sie z.B. ins Setup kommen oder wohin auch immer.
Sven Harazim
--
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#55

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 18. Mär 2009, 11:17
Nur kurz der Vollständigkeit halber: "Das Video von Daniel" ist eine Aufzeichnung des 2. Delphi-Stammtisches. Die Arbeit wurde von generic erledigt. Ihm gebührt der Dank.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#56

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 20. Mär 2009, 11:39
Hallo,

wir hätten da auch noch ein paar Vorschläge für Änderungnen am VST:

1. betrifft das Scrollverhalten:

- alle Scroll-Optionen des VST stehen auf Standard
- keine fixedColumns

hat man nun Spalten, die links bzw. rechts nicht komplett zu sehen sind oder
klickt auf eine Spalte rechts oder links neben der Center-Spalte, dann wird die
eigentlich nun neu fokusierte Spalte einfach zentriert, obwohl die Optionen dafür nicht
eingestellt sind. Dieses Verhalten ist gerade bei VSTs lästig, die zur Eingabe von Daten verwendet
werden. In älteren Versionen trat dieses Verhalten nicht auf.

Daher würden wir darum bitten in der VirtualTree.pas bei der Funktion ScrollIntoView die Zeile 29188 wie folgt zu ändern:

von

if (Header.Columns.GetVisibleFixedWidth > 0) and (not Center) then nach

if (Header.Columns.GetVisibleFixedWidth > 0) or (not Center) then 2. betrifft das Bestimmen der optimalen Spaltenbreite:

- VST mit mehr als 20000 Knoten
- OnBeforeCellPaint Event ist fürs VST registriert
- eine Spalte mal größern oder kleiner ziehen

Zur Optimierung der Spaltenbreite dieser Spalte macht man ja nun oben im Header einen
Doppel-Klickt, da wo man auch die Spalte breiter zieht. Hat man das gemacht, kann man
sich erstmal in Ruhe einen Kaffee holen und warten bis die Spalten optimiert wurden.

Verursacht wird das ganze durch die Funktion
function TBaseVirtualTree.GetMaxColumnWidth .
Hier wird für jeden Node die Funktion
DoGetCellContentMargin(Run, Column) aufgerufen. Diese ruft DoBeforeCellPaint mit cpmGetContentMargin als Parameter auf.
Aber egal, ob man auf diesen Parameter im Event-Handler regiert
(d.h. sämtliche Aktionen in OnBeforeCellPaint auslässt, wenn CellPaintMode = cpmGetContentMargin) oder nicht,
dauert die Berechnung extrem lange.

Wir haben dann eine abgeleitete Komponente vom VST erstellt, wo wir die Berechnung selber machen.
Hier ein Code-Schnipsel:
Delphi-Quellcode:
    merkOnBeforeCellPaint := vst.OnBeforeCellPaint;
    try
      vst.OnBeforeCellPaint := nil;
      cWidth := vst.GetMaxColumnWidth(Column); // hier wird die Methode GetMaxColumnWidth von TBaseVirtualTree aufgerufen
    finally
      vst.OnBeforeCellPaint := merkOnBeforeCellPaint;
    end;
Wie man sieht wird vor der Berechnung der Event zwischen gespeichert und auf nil gesetzt und nach
der Berechnung wiederhergestellt. Mit dieser Ergänzung läuft das Berechnen der Spaltenbreite wieder so schnell,
wie früher. Auch die Anzeigen von der abgeleiteten Komponente und dem org. VST sind nach der jeweiligen Berechnung
identisch. Daher unsere Frage wofür wird die Funktion DoGetCellContentMargin überhaupt gebraucht und warum ist das
ganze so extrem langsam im org. VST? Es wäre nett wenn dieses Verhalten korrigiert wird.

Vielen Dank.

MfG

madas
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#57

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 20. Mär 2009, 14:56
Zitat von Tegi:
Wie gesagt, wenn ihr Wünsche habt, her damit
Sind Mantis und Forum auf soft-gems.net noch relevant? (Siehe http://support.soft-gems.net/forums/...pic.php?t=2239)
Uli Gerhardt
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#58

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 20. Mär 2009, 19:22
Hi,

gibt es eigentlich eine Empfehlung was man statt toAutoSort nutzen kann? Ich hab in Anlehnung zu meinem Thread hier gerade ein Demo erstellt.

Das Problem hat nichts mit Datenbank & Co zu tun. Einfaches VST mit 2.500.000 Einträgen und ein OnCompareNode für Index-Nummer - das killt bei jeder RootNodeCount-Änderung die Performance.

Gibt es von den Entwicklern eine Empfehlung für eine schnelle "Einsortierung" neuer Nodes? Ich kann dazu im Moment nichts finden. Probiert habe ich InsertNode, AddChild mit amInsertBefore, amInsertAfter und auch testhalber ohne BeginUpdate/EndUpdate.

Prinzipiell ist die Performance ja super - 2,5 Mio Nodes sind in 1,2 Sekunden sortiert. Aber wenn die Anzahl der Nodes stetig zunimmt, wird jedesmal der ganze Tree neusortiert...

Ich stehe da heute auf dem Schlauch, liegt wohl am Frühlingsanfang

Gruß Assertor
Angehängte Dateien
Dateityp: zip unit_841.zip (2,2 KB, 9x aufgerufen)
Frederik
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#59

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 28. Mär 2009, 14:18
Hi,

zu meinem vorherigen Post: Problem gelöst, Beschreibung im oben verlinkten Thread.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#60

Re: VirtualTreeView - Wer hat die Weiterentwicklung übernomm

  Alt 31. Mär 2009, 10:41
Hmm ich weiß nicht ob es um einen Bug handelt oder sich das Verhalten geändert hat. Ich habe immer mal wieder die neuste
Version via Setup von VirtualTreeView installiert. Wie auch jetzt wieder (4.8.5) jedoch habe ich einen merkwürdigen Effekt.

In meiner Anwendung habe ich mehr Daten als angezeigt werden können, gehe ich jetzt durch die Daten (Pfeiltasten, Bild auf etc.)
wird zwar der Focus geändert, aber die Komponente scrollt nicht mehr mit. Also der cursor wandert aus dem Sichtbaren bereich,
normal wäre sobald man unten bzw. oben angelagt das dann automatisch der Gesamte bereich mit gescrollt wird.

Fehler gefunden, in den Properties steht TreeOptions.AutoOptions.toDisableAutoScrollOnFocus auf True anstatt auf False.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 11   « Erste     456 78     Letzte »    


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