По поводу Synchronize.
С одной стороны: работает - не трожь.
С другой: если тебе чисто внутренне больше нравится реализация Galkov-а, можно заменить.
Лично мне не очень нравится такой подход по следующим причинам:
- не очень "чистоплотная" реализация с подставным объектом
- отсутствует глобальная функция CallSynchronized, которую я добавил для использования этого функционала из других компонентов с собственной реализацией потоков. Например, асинхронный вызов может приходить из DLL, типа BASS, и компонент внутри себя захочет сообщить о нём в схему синхронно.
- не знаю, насколько актуально, но KOL-овский метод Synchronize не работает в неоконных приложениях. В моей реализации это учтено и событие все равно вызывается, но асинхронно. При необходимости туда можно добавить синхронизацию даже для неоконных приложений.
Ответов: 4631
Рейтинг: 749
|
|||
карма: 26 |
|