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

Вниз

потоки текут-2 или получилось наполовину   Найти похожие ветки 

 
Eraser ©   (2002-01-16 10:59) [0]

Спасибо ВСЕМ кто вчера помогал мне!! Но за бессоную ночь родилось много вопросов. Приведу код который я наваял (точнее списал с Demos и Panov):
//ocновная форма
var
// FirstParameter, NextParameter: integer;
T:array [1..3] of TSortThread;

procedure TSortForm.StartBtnClick(Sender: TObject);
begin
ThreadsRunning := 3;
T[1]:=TSortThread.Create(1,5);
T[2]:=TSortThread.Create(2,4);
T[3]:=TSortThread.Create(3,6);
StartBtn.Enabled := False;
end;

procedure TSortForm.Button1Click(Sender: TObject);
begin
while ThreadsRunning<>0 do begin
T[ThreadsRunning].Terminate;
Dec(ThreadsRunning);
end;
StartBtn.Enabled := True;
end;

//ThreadObject
type
TSortThread = class(TThread)
private
FFirstPar: integer;
FNextPar: integer;
public
procedure Execute; override;
procedure Rab;
constructor Create(const FirstParameter, NextParameter: integer);
end;

implementation

constructor TSortThread.Create(const FirstParameter, NextParameter: integer);
begin
inherited Create(True);
FreeOnTerminate := True;
FFirstPar := FirstParameter; //Инициализация переменных
FNextPar := NextParameter;
Resume; end;

procedure TSortThread.Execute;
begin
while not Terminated do
begin
case FFirstPar of
<верно ли здесь, будут ли 3 разных процесса с одной и той же процедурой>
1:Rab;
2:Rab;
3:Rab;
end;
end;
end;

procedure TSortThread.Rab;
var hPort:Thandle;
begin
hPort := CreateFile(PChar(FNextPar),
GENERIC_READ + GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if hPort = INVALID_HANDLE_VALUE then
label1.caption:="no";
end;

Вопрос в принципе один -где то я запутался в передаче значений форме и определении переменных(пишет что label1,hport,createfile не определены)?? Подскажите как? Ведь если делаю потоки в основной форме то все работает??
Простите за глупые вопросы, подскажите чайнику.



Страницы: 1 вся ветка

Текущий архив: 2002.02.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
1-8891
Unholy()
2002-01-16 00:39
2002.02.04
Помогите найти следующие компоненты...


14-8980
MJH
2001-12-11 15:27
2002.02.04
http://mjh.nm.ru


1-8858
Chak
2002-01-19 15:48
2002.02.04
Как убить DLL-ку, находящуюся в памяти?


1-8906
tovSuhov
2002-01-17 10:44
2002.02.04
Вот такая проблема...


1-8853
@andrew
2002-01-21 11:11
2002.02.04
Привет Всем!!! Есть файл 1.xls, содержащий....