Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-42863
petr_v_a
2001-12-26 21:58
2002.02.14
>Yuvich личное


3-42670
Mikhail
2002-01-18 21:42
2002.02.14
Ответте хоть ради смеха...


4-42904
Евгений
2001-10-21 16:49
2002.02.14
Как создать свой Desktop?


3-42658
Eraser
2002-01-21 10:04
2002.02.14
Скоко можно записей в DB


3-42643
harismatik
2002-01-17 16:48
2002.02.14
Добавление нового юзера и назначение ему прав доступа к базе данных INTERBASE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский