Вам необходимо обратиться к переменной Form1.
Form1.list.clear;
Но делать это из потока не безопасно.
Обновление: отлично компилируется.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FList : TList;
public
{ Public declarations }
property List : TList read FList;
end;
Type TMyClass = class(TThread)
Public
PROCEDURE Test;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
FList:= TList.Create; // Look here how to create the list
end;
{ TMyClass }
procedure TMyClass.Test;
begin
Form1.List.Clear;
end;
end.
Но, как я уже предупреждал, использование List непосредственно из потока не очень хорошая идея.
См. Также комментарий о том, как создать свой список.
И да, TMyClass должен быть где-то правильно инициирован.