AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Threadproblem auf einem "langsameren" Rechner
Thema durchsuchen
Ansicht
Themen-Optionen

Threadproblem auf einem "langsameren" Rechner

Ein Thema von RWarnecke · begonnen am 21. Jan 2007 · letzter Beitrag vom 29. Jan 2007
 
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Threadproblem auf einem "langsameren" Rechner

  Alt 24. Jan 2007, 20:59
Hallo zusammen,

erstmal ein dickes Danke an Euch. Ich habe den Teil des Codes jetzt so geändert :
Delphi-Quellcode:
      try
        SearchForDelete := TSearchDelete.Create(False);
        SearchForDelete.FreeOnTerminate := False;
        SearchForCopy := TSearchCopy.Create(False);
        SearchForCopy.FreeOnTerminate := False;
        ThreadArray[0] := SearchForCopy.Handle; // Handle Array füllen
        ThreadArray[1] := SearchForDelete.Handle;
        repeat
          // Auf Threads warten
          dwWaitResult := WaitforMultipleObjects(length(ThreadArray), @ThreadArray, true, 10);
          if dwWaitResult <> WAIT_OBJECT_0 then
          begin
            Application.ProcessMessages; // GUI aktualisieren
          end;
          if CancelSync then
          begin
            TerminateThread(ThreadArray[0], 0);
            TerminateThread(ThreadArray[1], 0);
            dwWaitResult := WAIT_OBJECT_0;
          end;
        until dwWaitResult = WAIT_OBJECT_0; // keinen Threads mehr zum warten
      finally
        SearchForCopy.Free;
        SearchForDelete.Free;
      end;
Dieses funktioniert seeeehr gut. Ich habe nur noch ein kleines Problem mit den Labels, die während der Ausführung von den beiden Threads auf dem langsamen Rechner nicht funktioniert. Auf schnelleren Rechnern habe ich das Problem nicht. Ich habe mich mal durch ein paar Tutorials gelesen. Da habe ich den Begriff 'Synchronisieren' aufgegriffen. Wie funktioniert das mit dem Synchronisieren und muss ich das in diesem Teil des Codes einsetzen oder als extra Procedure in der Klasse TThread ?
Rolf Warnecke
App4Mission
  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 15:17 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