Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
Внизпотоки текут-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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c