AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 20:17

Parameter dieser Suchanfrage:

Suche in Thema: Schlafende Threads
Suche alle Beiträge, die von "shmia" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 5 von insges. 5 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    AW: Schlafende Threads

      Delphi
      by shmia, 15. Mai 2012
    Ich habe den Konstruktor jetzt so geändert:
    constructor TSleepingThread.Create(CreateSuspended: Boolean);
    begin
    inherited Create(True);
    FEvent := TSimpleEvent.Create;
    if not CreateSuspended then
    Resume;
    end;
    Ausserdem gibt es noch einen 2. Thread in dem Demo um es einfache Datenübergabe zu zeigen.
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    AW: Schlafende Threads

      Delphi
      by shmia, 14. Mai 2012
    Für Delphi 5 scheint das aber nicht zu stimmen:
    constructor TThread.Create(CreateSuspended: Boolean);
    var
    Flags: DWORD;
    begin
    inherited Create;
    AddThread;
    FSuspended := CreateSuspended;
    Flags := 0;
    if CreateSuspended then Flags := CREATE_SUSPENDED;
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    AW: Schlafende Threads

      Delphi
      by shmia, 11. Mai 2012
    Leider doch:
    destructor TThread.Destroy;
    begin
    if not FFinished and not Suspended then
    begin
    Terminate; // <===
    WaitFor;
    end;
    if FHandle <> 0 then CloseHandle(FHandle);
    inherited Destroy;
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    AW: Schlafende Threads

      Delphi
      by shmia, 11. Mai 2012
    Ich hatte da schon so ein Bauchgefühl, dass das nicht so ganz passt.
    Bei Delphi 5 ist Terminate nicht virtuell und kann daher nicht überschrieben, sondern nur verdeckt werden.
    Deshalb lass ich den Thread jede Sekunde einmal aufwachen, damit er prüfen kann ob er terminiert wurde.

    Falls Terminate in neueren Delphi Versionen virtuell ist, könnte man natürlich per bedingter Compilierung deinen...
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Schlafende Threads

      Delphi
      by shmia, 11. Mai 2012
    Die Klasse TSleepingThread ist ein besonders fauler Geselle. 8-)
    Der Thread arbeitet nur, wenn man ihn von Aussen gezielt aufweckt.
    Sobald er seine Arbeit getan hat (procedure DoWork;) legt er sich wieder schlafen.
    Ob der Thread gerade am arbeiten ist lässt sich über das Propery Busy abfragen.
    TSleepingThread = class(TThread)
    private
    FEvent : TSimpleEvent;
    FBusy : Boolean;
    protected
    ...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=shmia&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=168253
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 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