Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Mehrfachen Schleifenaufruf verhindern

  Alt 8. Feb 2018, 13:07
Da liegt das Problem:

Benutzer tippt in einer WPTools Tabelle...

Wenn er da z.B. im Preis tippt, wird eine Message ans Hauptprogramm generiert welches dann in einer Schleife wiederum Messages an die Tabelle sendet weil da dadurch z.B. Summenzellen geändert werden müssen.

Diese Textänderung beim Tippen wird (leider) nur durch Application.Processmessages sichtbar (oder wenn die Schleife abgearbeitet ist), es gibt in den WPTools nichts was die Anzeige neu erzwingt

Die erste Message startet also die Schleife und will 100 Zeilen auf "12,35" ändern
Während die Schleife läuft kommt eine weitere Message rein und die Schleife will 100 mal auf "34,56" ändern.

Logge ich die Messages mit sehe ich z.b.

"12,35"
"12,35"
...
"12,35"
"34,56"
"34,56"
"34,56"
... 100mal
"34,56"
"34,56"
und dann die restlichen
"12,35"
"12,35"
"12,35"
"12,35"

Wie kann ich das umgehen?
Ich denke schon an eine generische Liste der die Messages aus der Schleife übergeben werden und die dann z.B. mit Timer oder Thread abgearbeitet wird, aber während die Schleife diese Liste füllt hängt die Anzeige in der Tabelle oder die Liste wird mit Processmessages genau so gefüllt wie auch in der direkten Abarbeitung in der Schleife...

Ciao
Stefan
  Mit Zitat antworten Zitat