Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm reagirt nicht während process (https://www.delphipraxis.net/57947-programm-reagirt-nicht-waehrend-process.html)

Hammurabi 29. Nov 2005 10:16


Programm reagirt nicht während process
 
Hi :wink:

also ich habe folgendes problem ich lese ~3000 datensätze von einer datei in eine sql ein und dies dauert sehr lange weil dies auf einem langsamen rechner läuft :( .

ich möchte aber das meine operationen z.b. im hintergrund ausgeführt werden und ich somit noch in Form1 arbeiten kann bzw das aktualisiren der 3000 datensätze abbrechen kann.

wäre nett wenn ihr mir helfen könnt :thumb:

Luckie 29. Nov 2005 10:20

Re: Programm reagirt nicht während process
 
Lager den betreffenden Code in einen Thread aus. Ein Tutorial dazu gibt es hier: http://delphitutorials.luckie-online.de

Tyrael Y. 29. Nov 2005 10:35

Re: Programm reagirt nicht während process
 
Moin,

in der Schleife wo du die Daten ausliest, könntest du auch ein

Application.ProcessMessages

einbauen, damit Windows dazu kommt seine Queue zu verarbeiten und somit deine Form neu zeichnet.



Gruß

Luckie 29. Nov 2005 10:39

Re: Programm reagirt nicht während process
 
Das wäre die unelegantere Version. ;) Zudem dürfte sie das Programm noch weiter verlangsamen, da immer die Nachrichtenschlange abgearbeitet wird. Und wenn er viel mit dem fenster arbeitet kommt die Schleife kaum noch zur Ausführung.

In beiden Fällen mus aber darauf geachtet werden, dass Aktionen des Benutzers nicht zu unerwünschten Nebeneffekten führen, wie zum Beispiel der erneute Start der Routine. Also am Besten die entsprechenden Kontrollelemente deaktivieren und für eine Abbruchmöglichkeit sorgen.

mumu 29. Nov 2005 10:40

Re: Programm reagirt nicht während process
 
Zitat:

Zitat von Tyrael Y.
Moin,

in der Schleife wo du die Daten ausliest, könntest du auch ein

Application.ProcessMessages

einbauen, damit Windows dazu kommt seine Queue zu verarbeiten und somit deine Form neu zeichnet.



Gruß
Zwiebel

ja das ist zwar richtig, aber grad bei längeren operation (wie es in deinem Fall zu sein scheint) ist ein thread um einiges schöner. es kann nie schaden sich damit einmal vertraut zu machen.

Hammurabi 29. Nov 2005 12:05

Re: Programm reagirt nicht während process
 
danke erstmal für die schnelle hilfe :bouncing4:

ich werde mich dann erstmal drann setzen das durch zu arbeiten und mla sehen vileicht schaffe ich das dann ohne weiter hilfe :xmas:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz