![]() |
Zwischen Berechnungen Text ausgeben
Hallo,
ich würde gerne folgendes Wissen. Ich habe eine Schleife, die z.B. 10 mal eine Procedure durchläuft. In der Procedure steht auch, dass in einer ListView ein Eintrag hinzugefügt werden soll, aber wenn ich die Schleife starte und die Procedure durchlaufen wurde, ist kein Eintrag in der ListBox aufgetaucht. Erst, wenn die komplette Schleife durchlaufen wurde. Das hängt wahrscheinlich mit der Berechnung zusammen. Die VCL-Komponente TListView "reagiert", während des Schleifendurchlaufs wahrscheinlich nicht und deshalb kann sie aus Rechengründen erst Daten anzeigen, wenn die "Hauptarbeit" (die Berechnung der Procedure) verrichtet ist. Bei PHP gibt es eine Funktion namens "flush()" welche mir die Möglichkeit gibt, dennoch zwischendurch Daten auszugeben und genau so eine Funktion suche ich jetzt in Delphi. Wisst Ihr etwas für mich :) Würde mich freuen. Vielen Dank im Vorraus. Gruß, Tobias |
Re: Zwischen Berechnungen Text ausgeben
Hallo digitalthread,
viele Delphi-Entwickler verwenden in diesem Fall Application.ProcessMessages, um so eine "Quasi-Nebenläufigkeit" ohne größeren Aufwand hinzubekommen. Dieser Ansatz birgt jedoch eine Probleme, verwende stattdessen die Methode Update. Eine Darstellung, warum die Liste nicht aktualisiert wird und weshalb für dieses und viele ähnliche Szenarien erstere Variante die Ursache für ungewollte Erscheinungen sein kann, findest Du ![]() |
Re: Zwischen Berechnungen Text ausgeben
Super genial!
Ich hatte die SuFu uwar genutzt (auch google) hatte aber nichts gefunden ;) Ich danke Dir! Viele Grüße, Tobias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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