Главная страница
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.011 c
3-87270
Степанов
2003-02-08 18:34
2003.02.27
Как в Delphi создать таблицу dBASE III


4-87740
Чайник32
2003-01-11 19:43
2003.02.27
Привилегии


3-87345
Calm
2003-02-11 10:38
2003.02.27
Можно ли возвращать из ХП строку, содержащую символ #13?


14-87654
SergeN
2003-02-10 14:27
2003.02.27
Не понимаю я!


14-87670
Дмитрий К.К.
2003-02-11 06:15
2003.02.27
Именинники 11 февраля