掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドについて (ID:16262)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
あらかじめ作成しているグローバルの文字列リスト(MList)に データを入れておいて、これをスレッドに渡して ShowMessage で 表示したいのですがうまくいきません。 どこが悪いのでしょうか?また、どうすればよいのか教えてください。 フォームを2つ用意します。 1つめにはボタンを貼り付けます。 以下ソースコードになります −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Unit1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin MList := TStringList.Create; MList.Add('abc-def'); MList.Add('abc-ghi'); MList.Add('jkl-mno'); end; procedure TForm1.FormDestroy(Sender: TObject); begin MList.Free; end; procedure TForm1.Button1Click(Sender: TObject); begin StartExecute; end; end. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Unit2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TMyThread = class(TThread) private protected procedure Execute; override; public end; TForm2 = class(TForm) private MyThread: TMyThread; public end; var Form2: TForm2; MList: TStringList; procedure StartExecute; implementation {$R *.dfm} procedure StartExecute; begin // データ転送(アップロード・ダウンロード)開始 Form2.MyThread := TMyThread.Create(True); Form2.MyThread.Resume; // フォームを表示する Form2.ShowModal; end; procedure TMyThread.Execute; begin ShowMessage(' ===== ' + IntToStr(MList.Count) + ' ===== ' + #13#10 + MList.Text); Form2.ModalResult := mrOk; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.