Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Вниз

TThread   Найти похожие ветки 

 
Chlavik   (2003-02-15 04:20) [0]

Как создать несколько одинаковых потоков и передать каждому какоето значение например строку, строка у кажого потока будет разной ... Не ужели нужно для этого изменять конструктор потока??? Пасиба за help


 
Poirot   (2003-02-15 10:37) [1]

ДА!!! Но этож просто
constructor Create(S:String; Suspended:Boolean);
begin
Create(Suspended);
FS:=S;
end;
Ну тут что-то помоему не так... У меня сегодня думалка спит... но принцип такой...


 
Юрий Зотов   (2003-02-15 10:39) [2]

TMyThread = class(TThread)
private
FMyData: string;
protected
procedure Execute: override;
public
property MyData: string read FMyData write FMyData;
end;

....

with TMyThread.Create(True) do
begin
MyData := "Привет";
...
Resume
end;


 
Nerpa   (2003-02-15 10:51) [3]

Попробуй так:
type
TMyThread = class(TThread)
private
{ Private declarations }
FParam:string;
protected
procedure Execute; override;
public
property Param:string write FParam;
end;

procedure TMyThread.Execute;
begin
if (Length(FParam)=0) then
FParam:="???";
end;

begin
MyThread := TMyThread.Create(True); // в режиме паузы
MyThread.Param:=IntToStr(Random(1000));
MyThread.Resume;
end;


 
Zelius   (2003-02-15 13:57) [4]

Можно и я попробую?? :)

TMyThread = class(TThread)
private
FMyData: string;
protected
procedure Execute: override;
public
constructor Create( aMyData: String; aSuspended: Boolean);
end;

constructor TMyThread.Create( aMyData: String; aSuspended: Boolean);
begin
FMyData := aMyData;
inherited Create(aSuspended);
end;

В такой последовательности поток не обратится к данным раньше чем ты их присваиваешь и никаких доп. действий по синхронизации не нужно!


 
Fiona   (2003-02-17 12:55) [5]

Возможно автору вопроса нужна переменная в блоке threadvar



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-87268
Andrio
2003-02-08 15:33
2003.02.27
Триггер на SQL для IB6


4-87736
R4D][
2003-01-08 16:57
2003.02.27
Как определить какой браузер установлен по умолчанию?


14-87685
Alex Shulg
2003-02-11 15:04
2003.02.27
Создание Help а


14-87657
Alik
2003-02-10 23:49
2003.02.27
Компонент FlexCel


3-87270
Степанов
2003-02-08 18:34
2003.02.27
Как в Delphi создать таблицу dBASE III





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский