AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 13:32

Parameter dieser Suchanfrage:

Suche in Thema: TThread, irgendwas mache ich falsch
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 4. Mai 2018
    Ich nenne sowas fahrlässig.

    MyThread.FreeOnTerminate := True;
    MyThread.Start;
    ...
    if TerminateProcess(MyThread.Handle, 0) then MyThread.Terminate;
    Ab "..." darf von außen niewieder niemals nicht auf diese Variable zugegriffen werden!:!:

    Denn wenn der Thread endet, wird das Objekt automatische gelöscht und ein Zugriff ist nicht mehr möglich.
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 3. Mai 2018
    Application.Terminated in die Abbruchbedingung sollte halt mit rein, dann läßt es sich beenden, genau so, wie man es auch bei Threads mit Self.Terminated macht.
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 2. Mai 2018
    Sleep(5);
    until WaitForSingleObject(MyThread.Handle, 5)
    Ein paar Dinge verstehen könntest du dennoch lernen :zwinker:

    Sleep(5)_ohneEventbehandlung + WaitFor(5)_mitEventbehandlung = WaitFor(10)_undAllesMitEventbehandlung

    Oder noch besser das WaitFor nicht nur auf dein Event, sondern auch auf die Warteschlange des VCL-Threads warten lassen.
    > Delay etwas anpassen
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 2. Mai 2018
    Das war gerade DAS Antibeispiel, wo man auch im Code gleich sieht, dass es hängen muß. :angle2:


    Wieso?
    > Mach was und wenn fertig gib es mir.


    Oder der Entwickler muß dem Hauptthread regelmäßig die Möglichkeit geben etwas anderes tun zu können.
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 2. Mai 2018
    @p80286: Du hast seinen Code und diese Aussage falsch verstanden.

    Diese Schleife hat nichts mit dem Thread zu tun.
    Sie soll nur warten und dafür ist "diese" Schleife garnicht nötig.
    Einfache Abänderung, mit dem selben Ergebnis: Ein Event und WaitFor statt dieser Schleife.


    Er kann bei sich auch das Sleep weglassen. Dann ist der Code kürzer, das Warten verbrät 100% CPU, aber sonst ändert...
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 2. Mai 2018
    Oder seine Methode ist die Falsche/Unpassende.

    Im Thread oder sonstwo was machen, im Hauptthread darauf warten, aber dem Hauptthread Rechenleistung abgeben. (ProcessMessages)

    Oder im Thread was machen, im Hauptthread nicht warten und bei ThreadEnde den Hauptthread benachrichtigen (Callback, Message oder Dergleichen),
    bzw. im Hauptthread regelmäßig schauen ob fertig und dann das Ergebnis...
  • Forum: Programmieren allgemein

    AW: TThread, irgendwas mache ich falsch

      Delphi
      by himitsu, 2. Mai 2018
    Dein Hauptthread besteht ausschließlich aus dieser Zeil repeat sleep(5) until not threadrun;
    und nun überlege mal ganz genau was da gemacht wird und wieso es da hängen muß.

    Und sollte es mal beim Free knallen, dann bleibt es auch gleich für immer hängen.


URL zu dieser Suchanfrage:

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