Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CurrentThread in Delphi (https://www.delphipraxis.net/101266-currentthread-delphi.html)

Funky-Sepp 10. Okt 2007 15:52


CurrentThread in Delphi
 
Hi,

vielleicht weiß von euch jemand ob es ein Äquivalent zu System.Threading.Thread.CurrentThread von .Net in Delphi32 gibt.
Habe bis jetzt leider nichts brauchbares mit Google und anderen Suchmaschinen gefunden,
brauche diese Funktion aber sehr dringend.

Hoffe ihr könnt mir da weiterhelfen.

Danke.

sirius 10. Okt 2007 15:54

Re: CurrentThread in Delphi
 
getcurrentthread aus der WINApi vielleicht?
(oder getcurrentthreadid)

Ich weis allerdings nicht, was das in .Net ist.

Funky-Sepp 10. Okt 2007 16:13

Re: CurrentThread in Delphi
 
Ja GetCurrentThread ist gar nicht mal so schlecht,
jetzt müsste ich damit nur noch das dazu passende TThread Objekt in Delphi finden.

System.Threading.Thread.CurrentThread gibt dir in .Net das im Moment laufenden Thread als Objekt zurück.

Muetze1 10. Okt 2007 16:34

Re: CurrentThread in Delphi
 
Deine eigenen Threads in eine Objektliste packen und entsprechend auch wieder herausnehmen wennd er Thread ausläuft. Danach kannst du nach MSDN-Library durchsuchenGetCurrentThread() die Objektliste durchlaufen und auf Delphi-Referenz durchsuchenTThread.Handle vergleichen. Damit hättest du dann deine Instanz.

Funky-Sepp 10. Okt 2007 18:19

Re: CurrentThread in Delphi
 
Das geht leider nicht, da ich die Threads nicht erstelle sondern eine Fremdkomponente,
und diese auch keine Liste mit Threads anbietet.

Aber trotzdem danke.

Muetze1 10. Okt 2007 19:06

Re: CurrentThread in Delphi
 
Dann ist die Frage, warum du denn die Instanzen brauchst? Durch das Thread-Handle von GetCurrentThread kannst du alle Steuerungsaufgaben auch durch die entsprechende WinAPI durchführen...

SirThornberry 10. Okt 2007 19:35

Re: CurrentThread in Delphi
 
das ThreadHandle ist das einzige worauf du bauen kannst. Denn wenn der Thread per Api erstellt wurde gibt es kein ThreadObject.

Funky-Sepp 11. Okt 2007 06:27

Re: CurrentThread in Delphi
 
Schade das habe ich schon fast befürchtet,
aber trotzdem Danke an alle für die schnelle Unterstützung.

Funky-Sepp 11. Okt 2007 07:23

Re: CurrentThread in Delphi
 
@Muetze1

Eigentlich wollte ich das Synchronize vom TThread ausführen,
habe aber dann bemerkt dass das Synchronize im Prinzip nichts anderes macht als EnterCriticalSection und LeaveCriticalSection.

Daher hilft mir das auch nicht wirklich weiter.

Mein Problem ist dass das EnterCriticalSection und LeaveCriticalSection alles viel langsamer laufen lässt, auch wenn ich nur einen Thread habe der darauf zugreiffen kann, dauert dies mehr als doppelt so lang.

OregonGhost 11. Okt 2007 09:33

Re: CurrentThread in Delphi
 
Wie oft rufst du die Enter/Leave-Pärchen denn auf?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Seite 1 von 3  1 23      

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