|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.01.2014, 19:44 | #1 |
Форумчанин
Регистрация: 26.08.2013
Сообщений: 187
|
Acess Violant при обрашении к публичной переменной в потоке.
Собственно использовал в своей программе два разных потока, один проверяет наличие валидности данных, которые пользователь вводит в соответсвующие поля, второй уже обрабатывает эти данные, но суть не в этом, я так и не понимаю почему, но тот поток который создаётся от формы, это первый, которые проверяет данные на валид, не может получить эту самую переменную, поясню немного программно:
Код:
Код:
Код:
Код:
Если же использовать код так: Код:
Код:
Код:
Код:
Последний раз редактировалось Winexcel; 19.01.2014 в 19:46. |
19.01.2014, 19:58 | #2 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Представь что обе половинки твоего головного мозга, это отдельные потоки, которые работают полностью независимо, а твоя переменная это левая нога. Одна половинка мозга (один поток), подаёт твоей ноге(переменной) команду оторваться от земли, и в то же самое время вторая половина мозга (второй поток) подаёт команду твоей ноге (переменной) поставить ногу. А теперь вопрос. Сколько ты сможешь пройти?
|
19.01.2014, 20:32 | #3 | |
Форумчанин
Регистрация: 26.08.2013
Сообщений: 187
|
Цитата:
|
|
19.01.2014, 20:39 | #4 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Вот и скажи это среде разработки. Вдруг ответит.
|
19.01.2014, 20:39 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я честно признаюсь - не понял ничего. Хотя дважды попытался вникнуть в то что у тебя происходит. Можешь попонятнее для вудпекеров объяснить ваццап у тебя происходит?
I'm learning to live...
|
19.01.2014, 20:51 | #6 |
Форумчанин
Регистрация: 26.08.2013
Сообщений: 187
|
Первая переменная N объявлена в 1м потоке, вторая п переменная N2 во втором. Обе переменные публичные. Когда я запускаю первый поток и пытаюсь получить значение через массив authuser[n].n то получаю ошибку что залил выше, этот первый поток запускается из формы по onclick button, но я смог получить лишь значение этого потока так akklog:=n, то есть значение из массива текущего потока(из самого себя), а из конкретного массива не могу, с потоком 2 же дело обстоит по другому, там я могу получить значение из публичной переменной n2 любого потока из массива tworkbot (не tauthuser). Также добавлю поток workbot запускается в самом конце потока authuser,если выполнились условия, и данная переменная(публичная) передаётся в публичную переменную этому потоку 2.
Последний раз редактировалось Winexcel; 19.01.2014 в 20:57. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как из метода X в потоке А, вызвать метод Y и чтобы он работал в потоке B ? | lawliet93 | C# (си шарп) | 0 | 09.03.2013 18:16 |
Пауза при скачивании в потоке? | fezilk25 | Работа с сетью в Delphi | 4 | 25.11.2011 11:48 |
Виджет для публичной страницы ВКонтакте | Lawilet | HTML и CSS | 0 | 16.10.2011 00:54 |
Оишбка в потоке при работе с ADO | MyIE | БД в Delphi | 7 | 07.07.2011 23:14 |
Использование глобальной переменной в потоке | Шульц | Общие вопросы Delphi | 12 | 18.03.2010 20:00 |