Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-87246
Siv Soft
2003-02-10 13:30
2003.02.27
ODBC - коннект: could not convert null in string


6-87614
NewGuest
2003-01-05 18:22
2003.02.27
Есть ли у кого пример... Какие компы есть в лок. сети...


1-87457
woland
2003-02-15 21:58
2003.02.27
Dll


6-87596
Шоломицкий
2003-01-10 16:21
2003.02.27
надо сделать ОТДЕЛЬНУЮ прогу, которая будет самостоятельно


14-87689
Goblinus
2003-02-11 15:35
2003.02.27
Лицензионный Delphi