Главная страница
    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.45 MB
Время: 0.004 c
14-36342
kiko
2002-11-20 18:26
2002.12.12
Внешний вид программы


1-36180
^Sanya
2002-12-01 12:46
2002.12.12
Создание компонента:


1-36275
Vladimir1
2002-12-02 15:39
2002.12.12
Программная задержка


1-36108
Explorer
2002-11-28 14:46
2002.12.12
График


1-36268
vlv
2002-12-02 12:59
2002.12.12
Как





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