Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Synchronize [D5, 2000]


Призрак ©   (2006-05-13 03:03:00) 

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


Джо   (2006-05-13 03:16:00) [1]

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

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


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

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


Джо   (2006-05-13 03:07:00) [3]

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

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


Джо   (2006-05-13 03:06:00) [4]

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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо