掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Threadオブジェクトからformオブジェクトにアクセスできない (ID:33302)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
再現しません。 # Delphi7+XP どういうコードを書いているのでしょうか。 # 再現しないサンプル unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMyThread=class(TThread) protected procedure Execute; override; public procedure DoRefresh; end; TForm1 = class(TForm) AddButton: TButton; StartButton: TButton; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure AddButtonClick(Sender: TObject); procedure StartButtonClick(Sender: TObject); private { Private 宣言 } MyThread: TMyThread; public { Public 宣言 } fileList: TStringList; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin fileList := TStringList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin if Assigned(MyThread) then begin MyThread.Terminate; MyThread.Free; end; fileList.Free; end; procedure TForm1.AddButtonClick(Sender: TObject); begin fileList.Add('Flie' + IntToStr(fileList.Count)); end; procedure TForm1.StartButtonClick(Sender: TObject); begin MyThread := TMyThread.Create(true); MyThread.Resume; end; procedure TMyThread.Execute; begin while not Self.Terminated do begin Sleep(1000); Synchronize(DoRefresh); end; end; procedure TMyThread.DoRefresh; var text: String; begin text := DateTimeToStr(Now); text := text + ' ' + IntToStr(Form1.fileList.Count); Form1.Label1.Caption := text; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.