![]() |
VirtualStringTree - Sichtbarkeitsprobleme nach Clear
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. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Hilft vielleicht BeginUpdate..EndUpdate?
|
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Zitat:
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. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
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. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Zitat:
Die Clear Funktion des VST's ruft automatisch BeginUpdate und EndUpdate auf. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Zitat:
Besonders beim Wechseln der Programmsprache ist das hinderlich. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
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. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
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. |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
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 ? |
AW: VirtualStringTree - Sichtbarkeitsprobleme nach Clear
Das Close wird innerhalb desselben Formulars aufgerufen.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz