|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2022, 16:19 | #1 |
Пользователь
Регистрация: 30.07.2022
Сообщений: 12
|
Класс и поток
Прошу помощи как начинающий.
Ниже выкладываю обобщенные фрагменты из программы. Есть класс TCSyn и поток MyThread. В потоке выполняется процедура VaChar. Скажу сразу программа компилируется без ошибок и выполняется. Но... Но когда запускается поток в процедуре VaChar при выполнении Count:= Count+1; происходит ошибка и процесс останавливается. Похоже, что поток не видит переменных описанных в классе TCSyn. Прошу подсказать как исправить это и что делал не правильно. Код:
Последний раз редактировалось BDA; 30.07.2022 в 18:18. |
30.07.2022, 18:26 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
1) При чем тут Synchronize. Вы же работаете с объектом в том же самом потоке, который создан локально для каждой его копии.
2) А конструктор и деструктор класса вы зачем перегружали. Может стоит сначала создать экземпляр: Код:
Код:
ADD: Спасибо BDA, а то это полотенце еще и курсивом читать было лень. Последний раз редактировалось macomics; 30.07.2022 в 18:31. |
30.07.2022, 18:58 | #3 | |
Пользователь
Регистрация: 30.07.2022
Сообщений: 12
|
Цитата:
|
|
30.07.2022, 19:04 | #4 |
Пользователь
Регистрация: 30.07.2022
Сообщений: 12
|
|
30.07.2022, 19:06 | #5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А где вы описали конструктор потока?
Но в конструкторе класса создавать экземпляр уже поздно. |
30.07.2022, 19:24 | #6 |
Пользователь
Регистрация: 30.07.2022
Сообщений: 12
|
|
30.07.2022, 20:43 | #7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Конструктор потока у вас есть, но вы его не перегружаете. Но его и не нужно перегружать.
Достаточно используя execute вначале это процедуры инициализировать переменные, а в конце - уничтожить. |
30.07.2022, 21:17 | #8 | |
Пользователь
Регистрация: 30.07.2022
Сообщений: 12
|
Цитата:
Спасибо! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание классов - Имеется класс город. Класс область содержит массив городов. Класс область содержит метод, который осуществляет поиск города по его названию. | martofpain | C# (си шарп) | 5 | 23.12.2019 07:57 |
Класс Complex.Извлечение и помещение в поток. | Otar4ik | Помощь студентам | 2 | 19.11.2014 20:55 |
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. | Человек_Борща | Общие вопросы Delphi | 8 | 27.02.2012 23:24 |
Поток. Не получается создать поток. Выдает ошибки при запуске | bigory | Общие вопросы по Java, Java SE, Kotlin | 3 | 23.09.2010 00:40 |
Освободить поток. Нужно удалить 1 событие и 1 класс | TwiX | Общие вопросы Delphi | 3 | 26.04.2010 02:23 |