| 
             
              ソスソスDelphi Q & Aソスfソスソスソスソス
             
           | 
        
ソスEC/C++
        ソスEDelphi
        ソスEVisual BasicソスソスソスSソスソス
        ソス@(VB2-VB6ソスソス.NETソスソスソスp)
        ソスEVisual Basic(VB2-VB6)
        ソスEVisual Basic .NET
        ソスEVisual C++
ソスXソスソスソスbソスhソスソスソスIソスソスソスソスソスソスソスソスソスソスmソスソスフに会ソスソスソスソスソスソスソスワゑソスソスソスソスH
        
        ソスソスソスン、ソスXソスソスソスbソスhソスノ擾ソスヤフソスソスソスOソスソスnソスソスソスト、
        ソスXソスソスソスbソスhソスフコソスソスソスgソスXソスgソスソスソスNソスgソスソスTrueソスノゑソスソスA
        ソスXソスソスソスbソスhソスソスソスIソスソスソスソスソス骼橸ソスソスFalseソスノゑソスソストゑソスソスワゑソスソスB
        ソスソスソスソスソスネ単ソスノ知ソスソスpソスヘゑソスソスソスワゑソスソスソスソスH
        
        Delphi6EnterpriseソスgソスpソスB
ソスIソスソスソスソスソスソスwaitソスソスgソスソスソストみゑソスソスフでゑソスソスソス
        ソスAソスNソスZソスXソスGソスソスソス[ソスソスソスナてゑソスソスワゑソスソスワゑソスソスソスソスB
        
        ソス@ifThread1<>nilthen
        ソス@begin
        ソス@Thread1.Terminate;
        ソス@Thread1.wait;
        ソス@end;
ソスxソスXソスソスソスンまゑソスソスソスB
        ソスRソス[ソスhソスヤ違えソスワゑソスソスソスソスB
        ソス‾Thread1.wait;
        ソスソスThread1.WaitFor;
        
        ソスXソスソスソスbソスhソスソスソスIソスソスソスソスソスソスソスソスソスソスThread1ソスソスnilソスソスソスソスソスソス謔、ソスソス
        ソスソスソスソスソスHソスCソスxソスソスソスgソスHソスヘなゑソスソスソスナゑソスソス蛯、ソスソスソスH
OnTerminateソスCソスxソスソスソスgソスナゑソスソス蛯、ソスB
        ソスネ会ソスソスTソスソスソスvソスソスソスナゑソス
        ソスソスソスネみゑソスTMyThreadソスソスノ途ソスソスソスIソスソスソスソスソスソスソスソスソスソスソスソスソスフで途ソスソスソスIソスソスソスソスソスワゑソスソスソスB
        
        unitUnit1;
        
        interface
        
        uses
        Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
        Dialogs,StdCtrls;
        
        type
        TMeThread=class(TThread)
        private
        {Privateソス骭セ}
        protected
        procedureExecute;override;
        end;
        
        type
        TForm1=class(TForm)
        Button1:TButton;
        procedureButton1Click(Sender:TObject);
        private
        {Privateソス骭セ}
        MeThread1:TThread;
        procedureMeThread1Terminate(Sender:TObject);
        public
        {Publicソス骭セ}
        end;
        
        var
        Form1:TForm1;
        
        implementation
        
        usesMath;
        
        {$R*.dfm}
        
        {TMeThread}
        
        procedureTMeThread.Execute;
        vari:Integer;
        begin
        inherited;
        fori:=0to100do
        Sleep(10);
        
        beep;
        end;
        
        ////////////////////////////////////////////////
        procedureTForm1.Button1Click(Sender:TObject);
        begin
        IfMeThread1=nilthen
        begin
        caption:='ソス成ソスソスソスワゑソスソスソス';
        MeThread1:=TMeThread.Create(True);
        MeThread1.FreeOnTerminate:=True;
        MeThread1.OnTerminate:=MeThread1Terminate;
        MeThread1.Resume;
        endelsebegin
        caption:='ソスIソスソスソスvソスソスソスoソスソスソスワゑソスソスソス';
        MeThread1.Terminate;
        end;
        
        end;
        
        procedureTForm1.MeThread1Terminate(Sender:TObject);
        begin
        MeThread1:=nil;
        caption:='ソスjソスソスソスソスソスワゑソスソスソス';
        end;
        
        end.
OnTerminateソスネゑソストゑソスソスソスソスナゑソスソスヒ!ソスH
        ソスソスソスソスソスニゑソスソストまゑソスソスソス(^^;
        
        ソスソスソスネみにマソスソスソス`ソスXソスソスソスbソスhソスフ趣ソスソスソス
        ソスヌゑソスソスソスソス閧オソスソスnilソスソスソスソスソスソスホゑソスソスソスナゑソスソス蛯、ソスソスソスH
ソス}ソスソスソス`ソスXソスソスソスbソスhソスソスソスソスネゑソスソスソスソスト包ソスソスソスソスソスTThreadソスソス成ソスソスソスソスソスソスソスナゑソスソスソスヒ?
        
        MeThread1.OnTerminate:=MeThread1Terminate;
        MeThread2.OnTerminate:=MeThread1Terminate;
        MeThread3.OnTerminate:=MeThread1Terminate;
        
        ソスニゑソスソスソスソスソス
        procedureTForm1.MeThread1Terminate(Sender:TObject);
        begin
        TMeThread(Sender):=nil;
        end;
        
        (Sender:TObject)ソスフ抵ソスソスgソスソスソスソスソスソスソスソスTMeThreadソスナゑソスソスB
>(Sender:TObject)ソスフ抵ソスソスgソスソスソスソスソスソスソスソスTMeThreadソスナゑソスソスB
        Senderソスヘ、ソスソスソスソスソスソスTMeThreadソスIソスuソスWソスFソスNソスgソスナゑソスソスソスソスAソスソスソス齦ィソスヘ違うソスソスソスソスソスソスソスワゑソスソスソスソスB
        ソスソスソスソスソスソスvarソスナはゑソスソスソスワゑソスソスし。
        TListソスネどで管暦ソスソスソスソスト、Terminateソスソスソスソスソス辜奇ソスXソスgソスソスソスソスソスソスソスソストゑソスソスルゑソスソスソスソス謔「ソスソスソスニ思ソスソスソスワゑソスソスB
ソスソスソスソスソスgソスjソスソスソスソスソスソスAソスノゑソスソスフゑソスソスありがソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
        ソスニてゑソスラ具ソスソスノなゑソスワゑソスソスB
        
        ソスソスソスニ擾ソスソスソスIソスネ趣ソスソスソスネゑソスナゑソスソスソスソスAソスAソスA
        >ソス}ソスソスソス`ソスXソスソスソスbソスhソスソスソスソスネゑソスソスソスソスト包ソスソスソスソスソスTThreadソスソス成ソスソスソスソスソスソスソスナゑソスソスソスヒ?
        ソスソスソスト、ソス}ソスソスソス`ソスXソスソスソスbソスhソスニ包ソスソスソスソスソスTThreadソス成ソスソスソスソス
        ソスヌゑソスソス痰、ソスフゑソスソスソスソスH
        ソスソスソスソスソスソスフゑソスソスニ思ソスソスソストゑソスソスワゑソスソスソスソスフで。ソスBソスB
ソステ黙のゑソスソスソスソスノ搾ソスソスソス驛ソスCソスソスソスXソスソスソスbソスhソスソスソスソスソス驍ゥソスソスBTThreadソスフ派ソスソスソスNソスソスソスXソスフイソスソスソスXソス^ソスソスソスXソスソス
        ソスミとつ搾ソスソスソスソスソスソスソス_ソスナゑソスソスナにマソスソスソス`ソスXソスソスソスbソスhソスニ鯉ソスソスソスソスソスB
ソスソスソス`ソスネゑソスルど!
        ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB
ソスノゑソスソスフゑソスソスソス
        >>TMeThread(Sender):=nil;
        ソスmソスソスソスノゑソスソスソスヘ厄ソス閧ソス驍ゥソスソスソスソスソスワゑソスソスソスA
        [[ソスソスソス]]ソスtソスソスソスソスソスソスソスト趣ソスソスソスnishソスソスソス分ゑソスソスソスソストゑソスフゑソスソスネ?
>ソスmソスソスソスノゑソスソスソスヘ厄ソス閧ソス驍ゥソスソスソスソスソスワゑソスソスソス
        
        ソスソスホ厄ソス閧ェソスソスソスソスナゑソスソス蛯、ソスBソスソスソスソスフ変撰ソスソスソスnilソスソスソスソスソスソスソスソスソスソスソスニゑソスソスソス
        ソスソスソスフイソスソスソスXソス^ソスソスソスXソスソスLソスソスソスXソスgソスソスソスト托ソスソスソスソスソストゑソスワゑソスソスソスソスソスソスソスソスモ厄ソスソスナゑソスソスB