AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree - Sichtbarkeitsprobleme nach Clear

Ein Thema von SneakyBagels · begonnen am 5. Jul 2017 · letzter Beitrag vom 6. Jul 2017
Antwort Antwort
Seite 1 von 2  1 2      
SneakyBagels
(Gast)

n/a Beiträge
 
#1

VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 07:14
Ich befülle ein VirtualStringTree ganz normal - hier ein bisschen Farbe und dort ein bisschen.
Beim FormClose (zweites Formular, nicht das Hauptformular) wird VST.Clear; aufgerufen.

Rufe ich das Formular nun erneut mit nur einem Node auf so sehe ich beim Erscheinen des Fensters noch schnell die alten Nodes verschwinden.
Das alles dauert nur wenige Millisekunden.

Wie kann ich dieses Verhalten unterbinden?

Randinfo: wenn ich das VST per Buttonklick leere und nicht erst im OnClose, dann tritt dieses kosmetische Problem nicht auf.
Wenn ich VST.Clear in CloseQuery verlege, dann dauert es etwa 500ms bis 1000ms bis das Formular geschlossen wird. Ist also leider keine Lösung.

Geändert von SneakyBagels ( 5. Jul 2017 um 08:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.347 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 09:56
Hilft vielleicht BeginUpdate..EndUpdate?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#3

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 09:57
Zitat:
Hilft vielleicht BeginUpdate..EndUpdate?
Wo genau, im CloseQuery meinst du jetzt?

Wenn du das meinst: das hilft gegen das Delay aber nicht gegen das Problem, dass ich beim nächsten Öffnen für wenige MS noch die alten, gezeichneten Nodes sehe die gar nicht mehr existieren.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.347 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 10:32
Vielleicht ein explizites Invalidate nach dem Clear?
Müsste ich mal testen, ich zeige selten ein Fenster mehrfach an, meistens erstelle ich dann eine neue Instanz.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 11:48
Müsste ich mal testen, ich zeige selten ein Fenster mehrfach an, meistens erstelle ich dann eine neue Instanz.
Mache ich ebenfalls so. Hat diverse Vorteile die Sneaky aber lt. einem anderen Thread nicht nutzen wollte.

Die Clear Funktion des VST's ruft automatisch BeginUpdate und EndUpdate auf.
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#6

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 12:17
Zitat:
Hat diverse Vorteile die Sneaky aber lt. einem anderen Thread nicht nutzen wollte.
Hat leider aber auch den Nachteil, dass ich nicht auf das Formular zugreifen kann, wenn ich es jedes mal wieder freigebe.
Besonders beim Wechseln der Programmsprache ist das hinderlich.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 12:29
Ich würde auch erstmal an etwas ala "DoubleBuffered" denken -> beim Anzeigen nach Clea wird schnell der alte Puffer geladen und danach dann der neue Inhalt erstellt+angezeigt.
In dem Fall müsste man irgendwie den Puffer vor dem nächsten Anzeigen neu zeichnen lassen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#8

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 5. Jul 2017, 12:31
Ich konnte das Problem lösen.
Es ist zwar eher 0815 aber nach dem VST.Clear; im FormClose ein Application.ProcessMessages; hat das Problem gelöst.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 6. Jul 2017, 05:12
Hmmm...dann macht das ganze Verhalten auch Sinn. Der Clear kommt nicht mehr dazu, das er komplett ausgeführt wird, bevor das Formular geschlossen wird (fehlende Rücksprung-Addresse, Stack usw.). Da der VST nicht zum schliessenden Formular gehört, bleiben die Daten erhalten.

Ich vermute mal, das der erneute Aufruf des Formulars ebenfalls einen Clear ausführt oder ?
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#10

AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear

  Alt 6. Jul 2017, 07:51
Das Close wird innerhalb desselben Formulars aufgerufen.

Zitat:
Ich vermute mal, das der erneute Aufruf des Formulars ebenfalls einen Clear ausführt oder ?
Nein. Es gibt nur dieses eine Clear.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:53 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