Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Thread blockt alles.... (https://www.delphipraxis.net/40832-thread-blockt-alles.html)

m0sch3r 21. Feb 2005 20:00


Thread blockt alles....
 
zur Berechnung von MD5 hashsummen (von grosen Files) wird eine thread classe verwendet

Delphi-Quellcode:
type
     TMD5Thread = class(TThread)
                  public
                  constructor Create(ThreadPriority : TThreadPriority);
                  function   GetMD5OfFile(PathToFile : widestring): TMD5Digest;
                  function   GetMD5DigestToStr(MD5summ : TMD5Digest): string;
                  end; // TMD5Thread


Delphi-Quellcode:
function TMD5Thread.GetMD5OfFile(PathToFile : widestring): TMD5Digest;
begin
     result := MD5File(PathToFile);
end;

function TMD5Thread.GetMD5DigestToStr(MD5Summ : TMD5Digest): string;
begin
      result := MD5DigestToStr(MD5Summ);
end;

constructor TMD5Thread.Create(ThreadPriority : TThreadPriority);
begin
  inherited Create(false);
  Priority := ThreadPriority;
end;

Leider friert das ganze Programm beim berechnen ein...
Ist es vieleicht ein Thread Problem....!?

jfheins 21. Feb 2005 20:03

Re: Thread blockt alles....
 
Kann es sein, dass du gar keine Execute-Methode definiert hast, die den Ausführungscode enthält ?

m0sch3r 21. Feb 2005 20:05

Re: Thread blockt alles....
 
Köntest du ein Beispiel oder kurze Bechreibung geben...:)))

Sanchez 21. Feb 2005 20:05

Re: Thread blockt alles....
 
Hallo,

Bei einem Abkömmling von TThread läuft die Execute-Methode in einem seperaten Thread ab. Der Thread wird beendet, sobald diese Methode fertig ist. Wenn du einfach irgendwelche Funktionen dieser Klasse aufrufst, die du selbst definiert hast, dann laufen diese im Kontext der Haupthreads ab.

Ich geh jetzt mal davon aus, dass das dein Problem ist. Da du den Thread nicht suspended (inherited Create(true)) erzeugst, muss es IMHO so sein.

m0sch3r 21. Feb 2005 20:07

Re: Thread blockt alles....
 
BEISPIEL...!!!!

alcaeus 21. Feb 2005 20:08

Re: Thread blockt alles....
 
Zitat:

Zitat von m0sch3r
BEISPIEL...!!!!

Sag mal, gehts noch? Beruhig dich mal, nicht jeder hat Lust/Zeit innerhalb von 5 Minuten Source zusammenzuschreiben, nur weil du nicht suchen willst/kannst. Zu Threads gibts hier genug Themen :roll:

greetz
alcaeus

Luckie 21. Feb 2005 20:08

Re: Thread blockt alles....
 
Es fehlt schlicht und ergreifen die Execute Methode.

Und SCHREI hier nicht so rum! Warum sollten wir bereit sein dir innerhalb kürzeseter Zeit ein Beispiel zusammen zu schreiben, wenn du noch nicht mal bereit bist zu suchen?

http://tutorials.luckie-online.de

Dax 21. Feb 2005 20:09

Re: Thread blockt alles....
 
Delphi-Quellcode:
type
  TMD5Thread = class(TTHread)
  //...
  public
    procedure Execute; override;
  end;

procedure TMD5Thread.Execute;
begin
  // Mache was im Thread
end;

m0sch3r 21. Feb 2005 21:00

Re: Thread blockt alles....
 
Danke für die Antworten, anscheinend war daß mein Fehler.

Die Create methode war falsch...!!!! jetzt geht es...:)))))

phXql 21. Feb 2005 21:07

Re: Thread blockt alles....
 
Zitat:

Zitat von m0sch3r
BEISPIEL...!!!!


SUCHEN...!!!! :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:08 Uhr.
Seite 1 von 2  1 2      

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