AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrfachen Schleifenaufruf verhindern

Ein Thema von sko1 · begonnen am 8. Feb 2018 · letzter Beitrag vom 9. Feb 2018
 
sko1

Registriert seit: 27. Jan 2017
607 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
 


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 22:45 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