Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизФормирование массива Найти похожие ветки
← →
Eraser (2002-01-31 12:34) [3]to Digitman
TMicro1Thread=class(TThread)
TMicro2Thread=class(TThread)
TMicro3Thread=class(TThread)
у них свойства и переменные одни и теже. Описаны в разных Unit"ах только из-за того что передаются в них и принимаются из них разные параметры. Я мучался со следующим кодом:
..основная форма
T:array [1..3] of TSortThread;
procedure TSortForm.StartBtnClick(Sender: TObject);
begin
T[1]:=TSortThread.Create(1,5);//Create(FirstParameter,NextParameter)
T[2]:=TSortThread.Create(2,4);
T[3]:=TSortThread.Create(3,6);
StartBtn.Enabled := False;
end;
..поток
type
TSortThread = class(TThread)
private
FFirstPar: integer;
FNextPar: integer;
public
Fs: integer;
procedure Sets(const Value: integer);
property s:integer read Fs write Sets;
procedure Execute; override;
constructor Create(const FirstParameter, NextParameter: integer);
end;
implementation
procedure TSortThread.Sets(const Value: integer);
begin
Fs := Value;
end;
constructor TSortThread.Create(const FirstParameter, NextParameter: integer);
begin
inherited Create(True);
FreeOnTerminate := True;
FFirstPar := FirstParameter; //Инициализация переменных
FNextPar := NextParameter;
Resume; //Переводим поток в состояние «Активный»
end;
procedure TSortThread.Execute;
var i:integer;
begin
while not Terminated do
begin
case FFirstPar of
1:for i:=1 to 10000 do
Fs:=Fs+FNextPar;
2:for i:=1 to 10000 do
Fs:=Fs+FNextPar;
3:for i:=1 to 10000 do
Fs:=Fs+FNextPar;
end;
end;
end;
создаю 3 разных потока - это все работает. Но не могу мернуть значение из каждого потока (из конкретного) по отдельности???
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c