Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Scrollbar soll rechnen, wenn ich gerade nicht scrolle (https://www.delphipraxis.net/78127-scrollbar-soll-rechnen-wenn-ich-gerade-nicht-scrolle.html)

dino 29. Sep 2006 12:47


Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
ich hab ein Programm, was jenach scrollbar position langwierige Aufgaben zu erledigen hat und wenn er das immer macht, wenn ich gerade anfange zu scrollen bzw. wenn ich noch nicht aufgehört habe, dauert das lange, also soll er die Berechnung erst aufführen, wenn ich nicht mehr scrolle

Klaus01 29. Sep 2006 12:53

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
Mal eine etwas dumme Frage, wie soll Dein Programm den merken wann du scrollen willst.
Und wie soll Dein Programm merken, dass Du nicht mehr scrollen willst.

Der richtige Weg scheint es doch zu sein, das wenn Dein Programm Berechnungen anstellt
das Scrollen unterbrochen wird. Und wenn Du scrollst die Berechnungen erst wieder
nach einer gewissen Latenzzeit weitergeführt werden.

Du könntest die Berechnungen auch in einen Thread auslagern, dann kann Dein Programm
berechnen und Du kannst scrollen.

Grüße
Klaus

dino 29. Sep 2006 12:58

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
ich habe ein Programm, welches je nach scrollbarposition ein verzerrtes btmap erzeugt, welches icih per button an...z..e.ige
oh man manchmal brauch ich einfach jemanden zum reden um selbst drauf zu kommen!

also:
ich habe bisher on scroll, das macht aber das Problem, dass er auch rechnet, wenn ich anfannge zu scrollen
stattdessen hänge ich die Rechnung einach vor den anzeigebutton!

dino 29. Sep 2006 13:02

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
aber wie war das mit den neuen threat?

bernau 29. Sep 2006 13:02

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
Zitat:

Zitat von dino
ich hab ein Programm, was jenach scrollbar position langwierige Aufgaben zu erledigen hat und wenn er das immer macht, wenn ich gerade anfange zu scrollen bzw. wenn ich noch nicht aufgehört habe, dauert das lange, also soll er die Berechnung erst aufführen, wenn ich nicht mehr scrolle

Frag doch einfach die Maustasten ab. Wenn die Maustaste losgelassen wird, dann erst berechnen.

Oder nimm einen Timer. Damit kannst du dann kontrollieren, wie lange nicht gescrollt wurde. Und dann, nach 2-3 Sekunden die berechnung starten.


GErd

dino 29. Sep 2006 13:04

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
danke wäre auch eine möglichkeit gewesen, aber wie war das mit dem threat nochmal?

Klaus01 29. Sep 2006 13:09

Re: Scrollbar soll rechnen, wenn ich gerade nicht scrolle
 
Du könntest die Berechnung in eine Thread packen, macht aber bei Deiner
Anwendung weniger Sinn, da du ja eine direkte Abhängigkeit zwischen den
Berechnungen und der Scrollbarposition hast.

Der Ansatz die Berechnung erst zu starten wenn der Anzeigenknopf gedrückt wurde
ist, so denke ich, der richtige.

Wenn Deine Applikation während der Berechnung einzufrieren scheint, hilft es
meistens ein wenig in den Schleifen der Berechnung ab und an Application.ProcessMessages
aufzurufen.

PS. zu Threads gibt es in der DP ein ganz brauchbares Tutorial.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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