なぜスレッドを使用するのでしょうか? 私のような初心者には理解できないように簡単に言うと、プログラム (たとえば、ファイルを読み取るプログラム) のプログラミングが完了すると、読み取ったファイルが大きい場合、プログラムはスレッドを介して実行されない場合、ファイルを読み取っているプログラム ウィンドウを移動すると、結果はどうなりますか? 「デッド スクリーン」とは、プログラムをまったくドラッグできず、他の作業を続行できないことを意味します。 , すべての問題は解決しましたので、くだらない話はやめて、学びたい場合は次の記事を読んでください。
もちろん、まず第一に、delphi 6 を開き、メニュー バーで [ファイル]、[新規作成]、[その他] の順にクリックします。ラベル ウィンドウがポップアップ表示され、新しいラベルを選択して、Thread オブジェクトを見つけます。それだけです。それをダブルクリックします。クラス名のウィンドウが表示されますので、「mythread」と入力します。もちろん、名前は自分で決めることができます。このとき、プログラムは自動的にユニットを作成します。次に、そのユニットを見てみましょう。
ユニットユニット2;
インタフェース
用途
クラス;
タイプ
mythread = クラス(TThread)
プライベート
{プライベート宣言}
保護された
プロシージャをオーバーライドします。
終わり;
実装
{ 重要: VCL または CLX のオブジェクトのメソッドとプロパティはのみ使用できます。
たとえば、Synchronize を使用して呼び出されるメソッド内
同期(UpdateCaption);
UpdateCaption は次のようになります。
プロシージャ mythread.UpdateCaption;
始める
Form1.Caption := 'スレッドで更新されました';
終わり; }
{ 神話 }
プロシージャ mythread.Execute;
始める
{ここにスレッドコードを配置します}
終わり;
終わり。
その中で、プロシージャ mythread.execute; に注目してください。これはあなたが作成したスレッドです。次に、バックグラウンド実行用のコードを追加します。 There に追加する必要がありますか?いや、もちろん追加されるよ
始める
//ここにプログラムコードを追加します
終わり;
ユニット 1 のコントロールを呼び出したい場合は、ユニット 2 の uses にユニット 1 を追加するだけで、ユニット 1 のスレッドを参照できるようになります。それは、それは、それは、わかりました、考え直すつもりはありません、それは mythread.Create(false); です。 OK、これは Delphi のスレッドです(笑)。
Delphi を学んだばかりです。間違っている点があれば、遠慮なくご指摘ください。連絡先メールアドレスは [email protected] です。