Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Threads in einer Liste halten und kontroliert beenden (https://www.delphipraxis.net/194507-threads-einer-liste-halten-und-kontroliert-beenden.html)

Hobbycoder 1. Dez 2017 08:38

AW: Threads in einer Liste halten und kontroliert beenden
 
[QUOTE=himitsu;1387640]
Zitat:

Zitat von Hobbycoder (Beitrag 1387638)
Also mindestens ins Debug-Log der Delphi-IDE. MSDN-Library durchsuchenOutputDebugString

Das ist ein guter Hinweis. Das hätte ich machen sollen ;-)

[QUOTE=himitsu;1387640]
Zitat:

Zitat von Hobbycoder (Beitrag 1387638)
Die Erste Zeile in eigenen Threads ist bei mir immer Delphi-Referenz durchsuchenNameThreadForDebugging.
Da findet man seine Threads im Debugger auch schneller, in der großen Thread-Liste.

Hatte ich ja, allerdings ist das oben genannte Problem aufgetreten, und er hat mir immer den Namen eines Threads überschrieben, aber die neu erzeugten nur mit ThreadID im Debugger dargestellt.
Das Problem konnte ich aber beheben, mit
Delphi-Quellcode:
self.NameThreadForDebugging('THPing_'+IPAddr, self.ThreadID);
. Nur so hat er wirklich den richtigen Thread benannt. Damit konnte ich meinen Fehler dann auch recht schnell lokalisieren.

TiGü 1. Dez 2017 09:26

AW: Threads in einer Liste halten und kontroliert beenden
 
Zitat:

Zitat von Hobbycoder (Beitrag 1387670)
Hatte ich ja, allerdings ist das oben genannte Problem aufgetreten, und er hat mir immer den Namen eines Threads überschrieben, aber die neu erzeugten nur mit ThreadID im Debugger dargestellt.
Das Problem konnte ich aber beheben, mit
Delphi-Quellcode:
self.NameThreadForDebugging('THPing_'+IPAddr, self.ThreadID);
. Nur so hat er wirklich den richtigen Thread benannt. Damit konnte ich meinen Fehler dann auch recht schnell lokalisieren.

Meiner Meinung nach sollte/dürfte NameThreadForDebugging immer die erste Zeile im Execute sein und nicht im Create.
http://docwiki.embarcadero.com/CodeE...Thread_(Delphi)

Hobbycoder 1. Dez 2017 12:10

AW: Threads in einer Liste halten und kontroliert beenden
 
Da hast du natürlich recht.
Jetzt, wo du es sagst ;-) Create wird ja noch im erzeugenden Thread ausgeführt, während Execute dann im eigentlichen Thread selbst läuft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Seite 2 von 2     12   

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