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
 
#1

Threadproblem auf einem "langsameren" Rechner

  Alt 21. Jan 2007, 11:53
Hallo zusammen,

ich habe folgendes Problem, ich rufeso meine zwei Thread aus dem Haupttread auf :
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 := msgWaitforMultipleObjects(length(ThreadArray), ThreadArray, true, 10, QS_ALLINPUT);
          if dwWaitResult <> WAIT_OBJECT_0 then
          begin
            Application.ProcessMessages; // GUI aktualisieren
            PeekMessage(msg, Application.Handle, 0, 0, PM_REMOVE);
            PeekMessage(msg, SearchForCopy.Handle, 0, 0, PM_REMOVE);
            PeekMessage(msg, SearchForDelete.Handle, 0, 0, PM_REMOVE);
          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;
Die beiden Threads machen nichts anderes als Verzeichnisse zu vergleichen und mir die aktuellen Dateien, die gerade verglichen werden in einem Fenster anzuzeigen. Nach dem finally, wird das Fenster geschlossen und dann die Ergebnisliste angezeigt. Wenn ich diesen Aufruf auf meinem AMD Athlon 64 3200+ aufrufe, funktioniert alles wunderbar. Wenn ich jetzt das gleiche Programm auf meinem IBM Thinkpad 1GHz aufrufe, muss ich immer erst die Maus über das Fenster bewegen, dass das Programm die Ergebnisliste anzeigt.

Weiß jemand rat, warum das so ist ?
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 08:51 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 by Thomas Breitkreuz