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

Вниз

Передача параметров thread-у   Найти похожие ветки 

 
ned   (2002-12-03 12:03) [0]

Нужно передать пару параметров (integer) конструктору потока ...
пробовал сделать так :

MyThread = class(TThread)
FHandle1,FHandle2 : integer;
constructor Create( Handle1,Handle2 : integer)
protected
procedure Execute; override;
end;

constructor Create( Handle1,Handle2 : integer)
begin
inherited Create(True);
FHandle1 := Handle1;
FHandle2 := Handle2;
FreeOnTerminate := True;
Resume;
end;

procedure Execute;
begin
// использую эти хэндлы
end;

///////////////////////////
Вроде работает но как то криво ... Как это грамотно сделать ?
У меня страшно глючит метод Execute при отладке.


 
@A   (2002-12-03 12:12) [1]

Если передаешь хендлы VCL сомпонентов, то надо использовать
метод Synchronize(проседура);


 
Игорь Шевченко ©   (2002-12-03 12:12) [2]

constructor Create( Handle1,Handle2 : integer)
begin
FHandle1 := Handle1;
FHandle2 := Handle2;
inherited Create(True);
FreeOnTerminate := True;
Resume;
end;

Не проще ?


 
ned   (2002-12-03 12:13) [3]

И еще делфи зависает при установки точки останова в процедуре Execute ... Есть какие нить тонкости ?


 
ned   (2002-12-03 12:20) [4]

Еще например в теле Execute :
var
i : integer;
begin
for i := 0 to 100 do begin
// чего то выполняется
end;

end;

как вы думаете чему равна переменная i при первой итерации ?
Думаете 0 ? Нет у меня =100 ... :) Чего только не делал перекомпилировал и под D6 и D7 ... Это вообще что такое ?

Кстати когда ставишь точку останова в Execute то делфи затыкается не всегда ... примерно в 50 % случаев ...


 
Skier ©   (2002-12-03 12:22) [5]

>ned

> Думаете 0 ? Нет у меня =100 ... :) Чего только не делал
> перекомпилировал и под D6 и D7 ... Это вообще что такое
> ?

Оптимизация, батенька...


 
ned   (2002-12-03 12:31) [6]

Убрал ... точно она ... Вопрос : где же тут оптимизация ? Где тут логика ?


 
Skier ©   (2002-12-03 12:33) [7]

>ned
Если хочешь разобраться в вопросах оптимизации кода и вообще
в вопросах написания компиляторов, то купи "книгу дракона".
Она тебе поможет, хотя это уже совсем другой вопрос...


 
Виктор Щербаков ©   (2002-12-03 13:08) [8]

ned (03.12.02 12:31)
Цикл со 100 до 0 работает быстрее, чем от 0 до 100.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
4-36464
TankMan
2002-10-26 15:33
2002.12.12
Как сделать снимок кусочка экрана и работать с ним?...


1-36164
VJar
2002-12-03 23:53
2002.12.12
Установка иконок проекта


1-36229
sancho
2002-12-01 20:18
2002.12.12
Как унать на каком языке текст:англ. или русском?


4-36486
Semion
2002-10-29 06:41
2002.12.12
удаленное соединение


14-36396
Rand
2002-11-21 18:29
2002.12.12
Экспресс-анкета