AGB  ·  Datenschutz  ·  Impressum  







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

Einfrieren des Programms verhindern

Ein Thema von Todd · begonnen am 25. Okt 2007 · letzter Beitrag vom 25. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#1

Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 12:59
Hallo zusammen,

ich habe ein Programm, dass vom Nutzer Daten entgegennimmt und diese dann an eine .dll weitergibt.
Dort findet die Berechnung statt.

Das Programm wartet bist der Rückgabewert vorhanden ist und verfährt dann weiter.

Diese Berechnung kann unter Umständen Stunden dauern.

Wie kann ich verhindern, dass durch die lange Berechnungszeit mein Programm "einfriert" bzw. einen Status "keine Rückmeldung" bekommt?

Vielen Dank im Voraus
Todd
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:03
Stunden ... ?

Application.ProcessMessages in die Berechnungsschleife.
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:04
Bei solchen aktivitäten bitte prüfen ob es nicht besser wäre mit threads zu arbeiten
Peter Schaible
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:14
zwei Ansätze fallen mir da ein:

1) einen seperaten Thread, der die Werte an die DLL gibt und auf Antwort wartet.

2) Asynchrone Abarbeitung. An die DLL ne Nachricht schicken mit den Daten. Erst mal weiter machen. Irgendwann schick die DLL eine Nachricht mit dem Ergebnis zurück.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#5

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:17
Danke für eure Hilfe.

Das mit dem Thread finde ich gut. Obwohl ich gar nicht weiß was ein Thread ist und wie ich einen neuen Anlege.

Die .dll läuft autark und hat mit dem eigentlichen Programm nichts weiter zu tun, als dass ihr Werte übergeben werden und nach Beendigung der Rückgabewert an das Programm übergeben wird.

Die Rechenzeit hängt von Nutzer ein, der diese in MIN angibt. Es ist ein sehr aufwendiger Algorithmus, der seine Optimalität dadurch erzielt, je mehr Zeit man ihm zum arbeiten lässt.

Aber zurückzukommen auf das Thema "Thread".

Wie legt man solchen an und was genau ist damit gemeint?

Vielen Dank

Todd
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:22
Zitat von Todd:
Aber zurückzukommen auf das Thema "Thread".

Wie legt man solchen an und was genau ist damit gemeint?
Forensuche hilft: Hier im Forum suchenThreads.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:35
mmhh also ich weiss nicht genau ob es das im Delphi auch gibt aber ähnliches bestimmt.
im C# jedenfalls gibt es seit .Net 2.0 eine Komponente BackroundWorker welche eigentlich das gleiche wie Threads macht dieses aber sehr vereinfacht!
Man lernt nie aus
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 13:41
coole antwort
Zitat:
Das mit dem Thread finde ich gut. Obwohl ich gar nicht weiß was ein Thread ist und wie ich einen neuen Anlege.
Peter Schaible
  Mit Zitat antworten Zitat
Thorben_Ko

Registriert seit: 8. Jun 2007
86 Beiträge
 
#9

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 14:05
Tut

VLl hillft dir das, mir hat es gereicht als basis wissen

Thorben
  Mit Zitat antworten Zitat
BasicX

Registriert seit: 19. Sep 2007
Ort: Celle
30 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Einfrieren des Programms verhindern

  Alt 25. Okt 2007, 14:09
Hi,
mir hat diese Tutorial sehr geholfen:
klick

MfG BasicX
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:27 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