Вниз
Скачать: CL | DM;

Synchronize   Найти похожие ветки 

 
Призрак ©   (2006-05-13 03:03) [0]

У меня поток передаёт информацию основному через TQueue. Но если написать Synchronize(myqueue.push(ch)), как написано в одном левом мане, или даже Synchronize(mythread.QueuePush(ch)), то делфя говорит что тип не тот - не TThreadMethod... Я почитал, что же это за метод такой; написано - type TThreadMethod = procedure of object; procedure Synchronize(Method: TThreadMethod) ... Работает только то же самое без параметров. Что же это получается - нельзя синхронизовать методы которые параметр требуют?!.. Не верится...


 
Джо ©   (2006-05-13 03:06) [1]

> Но если написать Synchronize(myqueue.push(ch)), как написано
> в одном левом мане

А зачем читать какой-то "левый ман", если можно почитать Справку?

Параметром в Synchronize должен идти метод трэда, неимеющий параметров.


 
Джо ©   (2006-05-13 03:07) [2]

> Что же это получается - нельзя синхронизовать методы которые
> параметр требуют?!.. Не верится...

Придется поверить, ибо это так.
А что смущает? Ведь эти параметры можно просто присвоить полям трэда, и всё.


 
Призрак ©   (2006-05-13 03:14) [3]

спасибо...
попробую так сделать. просто как-то уж очень криво выглядит...


 
Джо ©   (2006-05-13 03:16) [4]

> [3] Призрак ©   (13.05.06 03:14)
> спасибо...
> попробую так сделать. просто как-то уж очень криво выглядит...

Нормально выглядит. Ты в трэде конструктор сделай с параметрами, в конструкторе и присваивай значений полям. Отлично будет выглядеть, ручаюсь :)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
2-1147187480
tigra
2006-05-09 19:11
2006.05.28
Сумма целых чисел от 1 до....


2-1147511357
Vitalik__
2006-05-13 13:09
2006.05.28
Кто нибудь работал с SynEdit?


15-1146549885
sapsi
2006-05-02 10:04
2006.05.28
Профсоюз работников ИТ


4-1141399908
Handle
2006-03-03 18:31
2006.05.28
Как завершить системныЙ процесс?


2-1147101450
Ezorcist
2006-05-08 19:17
2006.05.28
Обращение к сайту




   Наверх