AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programm reagirt nicht während process
Thema durchsuchen
Ansicht
Themen-Optionen

Programm reagirt nicht während process

Ein Thema von Hammurabi · begonnen am 29. Nov 2005 · letzter Beitrag vom 29. Nov 2005
Antwort Antwort
Hammurabi

Registriert seit: 9. Nov 2005
25 Beiträge
 
#1

Programm reagirt nicht während process

  Alt 29. Nov 2005, 10:16
Hi

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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Programm reagirt nicht während process

  Alt 29. Nov 2005, 10:20
Lager den betreffenden Code in einen Thread aus. Ein Tutorial dazu gibt es hier: http://delphitutorials.luckie-online.de
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Programm reagirt nicht während process

  Alt 29. Nov 2005, 10:35
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ß
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Programm reagirt nicht während process

  Alt 29. Nov 2005, 10:39
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#5

Re: Programm reagirt nicht während process

  Alt 29. Nov 2005, 10:40
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.
  Mit Zitat antworten Zitat
Hammurabi

Registriert seit: 9. Nov 2005
25 Beiträge
 
#6

Re: Programm reagirt nicht während process

  Alt 29. Nov 2005, 12:05
danke erstmal für die schnelle hilfe

ich werde mich dann erstmal drann setzen das durch zu arbeiten und mla sehen vileicht schaffe ich das dann ohne weiter hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:50 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