![]() |
TThread objekt finden mit ThreadID
Hallo,
wie kann ich das TThread objekt finden wenn ich nur die ThreadID habe ? Danke im Voraus. |
Re: TThread objekt finden mit ThreadID
Hallo,
warum packst die deine erzeugten Threads nicht in eine zusätzliche Liste ? Dann kannst du die ihn dort suchen. Heiko |
Re: TThread objekt finden mit ThreadID
???
|
Re: TThread objekt finden mit ThreadID
Hallo!
Geht es um nicht selber erzeugte Threads? Ansonsten hat Hoika ja recht: Wenn du einen Thread erstellst, schreibst du die Objektvariable in eine TObjectlist-Instanz... Cu, UDontknow |
Re: TThread objekt finden mit ThreadID
Ich habe nur die ThreadID un möchte gern damit das TThread-Objekt finden.
Damke |
Re: TThread objekt finden mit ThreadID
Hallo,
warum hast du nur die ID ? Vielleicht von einem anderen Programm ? Dann bekommst du natürlich kein TThread-Objekt, wie soll das auch gehen. Falls das andere Programm z.B. c++ ist, gibt es dort sowas nicht, TThread kapselt ja nur die API-Methoden und ein fremdes das Handle unterzuschieben, geht afaik nicht. Heiko |
Re: TThread objekt finden mit ThreadID
ich habe eine Client-Server Anwendung.
Im Client habe ich die ThreadId. Der Benutzer kann/soll eine bestimmte Server-Thread anhand der ThreadId beenden können. Im Server konnte ich ja die Procedure TerminateThread benutzen, aber ich möchte gern das TThread-Objekt raus gewinnen und dann TThread.Terminate benutzen ! Danke |
Re: TThread objekt finden mit ThreadID
Hallo,
das geht aber so nicht. Da könnte ja jeder mit ner Thread-ID (da sich wohl auch ermitteln lässt), den Thread eines anderen Programmes beenden. Du musst schon per Kommunikation machen, der Client teilt dem Server die ID mit, und der Server beendet den Thread. Heiko |
Re: TThread objekt finden mit ThreadID
Dass ist mir ja alles klaar, ich mache es ja auch so ich schick im Server die ThreadID die im Server zu Beenden ist.
Aber ich was nicht wie aus der ThreadID das TThread bekommen.... Danke |
Re: TThread objekt finden mit ThreadID
Zitat:
|
Re: TThread objekt finden mit ThreadID
Hallo,
1. geht das nur als Admin, 2. es geht hier nicht um API Thread killen, sondern per TThread Und nun zum Server. Packe im Server-Prozess alle erzeugten Threads in eine (TObjectList) und suche das TThread dann. Anderes geht es afaik nicht. Wenn ich z.B. folgendes habe.
Delphi-Quellcode:
,komme ich nur noch über die Liste an das MyClass.
procedure TForm1.Add(theList: TList);
var MyClass: TMyClass; begin MyClass:= TMyClass.Create; theList.Add(MyClass); end; procedure TForm1.OnButtonClick; begin Add(List); // List ist hier mal Form-Varaible end; Heiko |
Re: TThread objekt finden mit ThreadID
Danke,
aber dass helft mich glaube ich nicht so.... Wie kann ich in der Liste das TThread-Objekt finden wenn ich nur die ThreadID habe ? |
Re: TThread objekt finden mit ThreadID
1. RTFM, TThread.ThreadID
2. Überdenke das Kommunikationsprotokoll zwischen Client und Server noch einmal, wenn Du nichts besseres hast. |
Re: TThread objekt finden mit ThreadID
Was ist RTFM?
|
Re: TThread objekt finden mit ThreadID
RTM
read the fucking manual ;) ThreadId ist eine Variable in TThread Das Eintragen in eine TObjectList solltest zu alleine schaffen und for-Schleife, um die Liste zu durchsuchen auch, oder ? Heiko |
Re: TThread objekt finden mit ThreadID
Leider nicht...
Es ist mir gar nicht klaar wie Sie es machen wollen... :-( Sorry Danke ! |
Re: TThread objekt finden mit ThreadID
Hallo,
dein Client fordert vom Server ja eine Dienstleistung. Der Server erzeugt einen Thread (TThread) und gibt die Thread-Id an den Client weiter. Der Server zeugt den Thread aber nicht nur, sondern packt ihn in eine Liste. Die Liste (ThreadList) ist "global" für den Server.
Delphi-Quellcode:
Diese ThreadList musst du führen,
var
ThreadList: TList; // oder was immer für eine Liste procedure CreateMyThread; var MyThread: TMyThread; begin MyThread:= TMyThread.Create; ThreadList.Add(MyThread); end; wird ein Thread beendet, fliegt er aus der Liste raus. Zum Suchen dann einfahc ne Schleife über "ThreadList". Heiko |
Re: TThread objekt finden mit ThreadID
Danke!!!
|
Re: TThread objekt finden mit ThreadID
Siehe dazu auch:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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