Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизФормирование массива Найти похожие ветки
← →
Digitman (2002-01-31 11:29) [2]
type
TTreadArray = array[1..3] of TThread;
var
ThreadArray: TTreadArray;
ThreadNum: Integer;
...
ThreadArray[1]:= TMicro1Thread.Create(..);
ThreadArray[2]:= TMicro2Thread.Create(..);
ThreadArray[3]:= TMicro3Thread.Create(..);
...
case ThreadNum of
1: with TMicro1Thread(ThreadArray[1]) do begin
Suspend;
Setuprpub(1,upr[1]);
Resume;
end;
2: with TMicro2Thread(ThreadArray[2]) do begin
Suspend;
Setuprpub(1,upr[1]);
Resume;
end;
3: with TMicro3Thread(ThreadArray[3]) do begin
Suspend;
Setuprpub(1,upr[1]);
Resume;
end;
end;
Только вот непонятно, метод Setuprpub() виртуальный у предка всех трех MicroThread"ов ? Или предок у них - TThread ?
Если бы Setuprpub() был виртуально объявленный у единого предка всех трех объектов, то было бы еще проще:
type
TMicroThread = class(TThread)
public
procedure Setuprpub(..); virtual; abstract;
end;
TMicro1Thread = class(TMicroThread)
protected
procedure Execute; override;
public
procedure Setuprpub(..); override;
end;
TMicro2Thread = class(TMicroThread)
protected
procedure Execute; override;
public
procedure Setuprpub(..); override;
end;
TMicro3Thread = class(TMicroThread)
protected
procedure Execute; override;
public
procedure Setuprpub(..); override;
end;
TTreadArray = array[1..3] of TMicroThread;
var
ThreadArray: TTreadArray;
ThreadNum: Integer;
...
ThreadArray[1]:= TMicro1Thread.Create(..);
ThreadArray[2]:= TMicro2Thread.Create(..);
ThreadArray[3]:= TMicro3Thread.Create(..);
...
for i:= 1 to 3 do
with ThreadArray[i] do begin
Suspend;
Setuprpub(..);
Resume;
end;
...
разницу чувствуешь ?)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c