Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2014, 13:47   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Передать TStrings создаваемому потоку

Доброго времени суток!
Помогите, пожалуйста, передать TString создаваемому потоку.
Имеется
Код:
...
procedure DownloadFiles(Files: TStrings);
...
type
  // Поток для загрузки обновляющих файлов
  TDownloadFiles_Thread = class(TThread)
  private
    { Private declarations }
    URL: string;
    B: Boolean;
    SL: TStringList;
  protected
    procedure Execute; override;
    procedure SyncProc;
  public
  end;
...
procedure TFormUpdate.DownloadFiles(Files: TStrings);
begin
  DownloadFiles_Thread := TDownloadFiles_Thread.Create(True);
  DownloadFiles_Thread.URL := URL;
  DownloadFiles_Thread.SL.Text := Files.Text; <-- обращение к несуществующему объекту
  DownloadFiles_Thread.FreeOnTerminate := True;
  DownloadFiles_Thread.Resume;
end;
...
procedure TDownloadFiles_Thread.Execute;
begin
  SL := TStringList.Create;
...
end;
Shouldercannon на форуме Ответить с цитированием
Старый 16.01.2014, 13:59   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В конструкторе потока создайте стринглист
В деструкторе уничтожте
Сделайте public свойство типа TStringList
В ридере свойства просто возвращайте стринлист
В врайтере свойства ASSIGN-ом стринглиста загружайте

Вариант попроще - переопределить конструктор с передачей в качестве параметра существующий стринглист
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.01.2014 в 14:05.
Аватар вне форума Ответить с цитированием
Старый 16.01.2014, 14:00   #3
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Так он же у тебя не существует, а только объявлен.
FaTaL вне форума Ответить с цитированием
Старый 16.01.2014, 14:16   #4
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Типа того
Код:
  DownloadFiles_Thread := TDownloadFiles_Thread.Create(True);
  DownloadFiles_Thread.URL := URL;
  DownloadFiles_Thread.SL := TStringList.Create;
  DownloadFiles_Thread.SL.Text := Files.Text;
  DownloadFiles_Thread.FreeOnTerminate := True;
  DownloadFiles_Thread.Resume;
Shouldercannon на форуме Ответить с цитированием
Старый 16.01.2014, 14:18   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
DownloadFiles_Thread.SL := TStringList.Create;
Это по индусски
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.01.2014, 14:40   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Это по индусски
За то походу работает
FaTaL вне форума Ответить с цитированием
Старый 16.01.2014, 18:14   #7
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Конечно работает
Shouldercannon на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива данных потоку bulldog5293 Общие вопросы Delphi 0 03.04.2013 16:07
передача потоку 2 и более параметра через createthread fucil Общие вопросы Delphi 10 09.02.2012 18:58
[Delphi] BASS переподключение к онлайн потоку ZePr Мультимедиа в Delphi 3 20.09.2011 21:09
Каждому клиенту по потоку. ImmortalAlexSan Работа с сетью в Delphi 1 01.07.2010 17:45
Подключение к видео потоку из Интернета.. prizrak1390 Работа с сетью в Delphi 7 12.07.2008 21:47