AGB  ·  Datenschutz  ·  Impressum  







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

Mehrere Threads gleichzeitig

Ein Thema von Frickel · begonnen am 7. Apr 2004 · letzter Beitrag vom 7. Apr 2004
 
Frickel

Registriert seit: 27. Feb 2004
8 Beiträge
 
#11

Re: Mehrere Thraeds gelichzeitig

  Alt 7. Apr 2004, 14:08
Hallo Basilikum,

ja das scheinen die Fehler gewesen zu sein.
Habs jetzt mal geändert. So läuft es.

Wie stell ich es an, das ich benachrichtigt werden, wenn alle Threads beendet wurden??

Delphi-Quellcode:
TRY
  FOR i := 1 TO 10 DO
   T_ARR[i - 1] := T_TestThread.Create(i - 1, g_Datenbank.OutConnection);
FINALLY
  //Hier kommt wohl noch was hin
END;

UNIT AddressVerifaction;

INTERFACE

USES
  Classes, g_Database, Oracle;

TYPE
  T_TestThread = CLASS(TThread)
  private
    Buchstabe: Integer;
    fWorking:Boolean;
    PROCEDURE UpdateMemo(Sender: TObject);

    { Private-Deklarationen }
  protected
    PROCEDURE Execute; override;
  public
    CONSTRUCTOR Create(aBuchstabe: Integer; Connection: TOracleSession);
    PROPERTY Count: Integer read fCount write fCount;
    Property Working:Boolean Read fWorking Write fWorking;
  END;

IMPLEMENTATION
USES SysUtils, main;

CONSTRUCTOR T_TestThread.Create(aBuchstabe: Integer; Connection: TOracleSession);
BEGIN
  INHERITED Create(True);
  Buchstabe := aBuchstabe;
  FreeOnTerminate := True;
  OnTerminate := UpdateMemo;
  Working:=True;
  Resume;
END;

PROCEDURE T_TestThread.Execute;
VAR
  i: Integer;
  iSuccess: Boolean;
  RequestData: REQ_Satz;
BEGIN

  WHILE iSuccess DO
  BEGIN
    RequestData.A1 := '0';
    RequestData.A2 := '';
    RequestData.A3 := '';
    RequestData.A4 := '';
    RequestData.A5 := '';
    RequestData.A6 := '';
    RequestData.A7 := '';
    RequestData.A8 := '';
    iSuccess := g_Datenbank.GetRecord(RequestData);
    IF RequestData.A1 <> '0THEN
    BEGIN
         //Verarbeite Daten
         Sleep(100);
    END;
  END;
  { Thread-Code hier einfügen }
END;

PROCEDURE T_TestThread.UpdateMemo(Sender: TObject);
BEGIN
   //Hier würde ich erwarten, das sich die Threads schön terminieren
   Working:=false;
END;

END.
Gruss Frickel
  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:41 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