ソースを参照

* Add Current and CurrentIsMain

Michaël Van Canneyt 1 年間 前
コミット
49100cc42b
2 ファイル変更9 行追加0 行削除
  1. 7 0
      rtl/objpas/classes/classes.inc
  2. 2 0
      rtl/objpas/classes/classesh.inc

+ 7 - 0
rtl/objpas/classes/classes.inc

@@ -434,6 +434,13 @@ procedure TThread.DoneSynchronizeEvent;
   end;
 
 
+
+class function TThread.CurrentIsMain : Boolean;
+
+begin
+  Result:=TThread.Current.ThreadID=MainThreadID;
+end;
+
 class procedure TThread.Synchronize(AThread: TThread; AMethod: TThreadMethod);
   var
     syncentry: PThreadQueueEntry;

+ 2 - 0
rtl/objpas/classes/classesh.inc

@@ -2328,7 +2328,9 @@ type
     procedure Suspend; deprecated;
     procedure Terminate;
     function WaitFor: Integer;
+    class function CurrentIsMain : Boolean; static; inline;
     class property CurrentThread: TThread read GetCurrentThread;
+    class property Current: TThread read GetCurrentThread;
     class property ProcessorCount: LongWord read FProcessorCount;
     class property IsSingleProcessor: Boolean read GetIsSingleProcessor;
     property FreeOnTerminate: Boolean read FFreeOnTerminate write FFreeOnTerminate;