Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Снова Threads, почему ошибка?

357
21 ноября 2003 года
Тимофей
112 / / 20.02.2000
Просветите кто знает. Почему при выполнении функции в потоке возникает ошибка AccessViolation. Функция работает с публичными данными обьявленными в главной форме. Да, и если нетрудно обьясните как с Synchronize работать.
Заранее спсибо...
4.7K
21 ноября 2003 года
horst
10 / / 19.11.2003
Насколько я понял , у тебя проблема с Synchronize'ом. Ты наверно его вызывашь в каком то "случвйном" месте программы? Если да , то это не правильно, Synchronize может вызываться только из Execute потока.
357
24 ноября 2003 года
Тимофей
112 / / 20.02.2000
Цитата:
Originally posted by horst
Насколько я понял , у тебя проблема с Synchronize'ом. Ты наверно его вызывашь в каком то "случвйном" месте программы? Если да , то это не правильно, Synchronize может вызываться только из Execute потока.


Нет ты неправильно меня понял, я не использовал функцию Synchronize.
Ошибка возникает при использовании переменных из др. формы, а не при синхронизации потоков.

1.8K
26 ноября 2003 года
_const_
229 / / 26.11.2003
Цитата:
Originally posted by Тимофей
Просветите кто знает. Почему при выполнении функции в потоке возникает ошибка AccessViolation. Функция работает с публичными данными обьявленными в главной форме. Да, и если нетрудно обьясните как с Synchronize работать.
Заранее спсибо...



Из документации:
When you use objects from the VCL object hierarchy, their properties and methods are not guaranteed to be thread-safe. That is, accessing properties or executing methods may perform some actions that use memory which is not protected from the actions of other threads. Because of this, a main VCL thread is set aside for access of VCL objects.

Короче, обращаться к св-вам и методам объектов VCL нужно обязательно через Syncronize. Подробнее см. Help.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог