|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
||||||
Использование класса object для передачи данных в поток16.12.2014, 16:05. Показов 2032. Ответов 12
Метки нет (Все метки)
Здравствуйте. Вот идея кода.
0
|
||||||
| 16.12.2014, 16:05 | |
|
Ответы с готовыми решениями:
12
Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса Преобразование object -> byte[] -> object для передачи по сети Создание и использование нитей для передачи данных |
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
||||||
| 16.12.2014, 16:12 | ||||||
|
ты можешь его вызывать из потока спокойно. Главное обезопасить от вызова одновременно более чем 1 потоком.
1
|
||||||
|
|
||
| 16.12.2014, 16:20 | ||
|
Создайте класс, в нем (через метод или конструктор) запускайте поток(и). А также событие(я), на которые и подпишитесь в форме и при их возникновении делайте с формой (ее элементами) то что требуется.
1
|
||
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
||
| 16.12.2014, 18:19 [ТС] | ||
|
0
|
||
|
|
||
| 16.12.2014, 18:45 | ||
|
То есть, говоря проще, через данную конструкцию мы можем обратиться из другого потока к форме (и/или ее элементам) и что-то с ними сделать, поскольку прямо обратиться к ним из другого потока (не из того, в котором они созданы) мы не можем (вернее, можем, но все накроется медным тазом, как пишут умные люди). Использовать данную конструкцию для запуска потока - об этом я не слышал (если только с экземплярами делегатов).
1
|
||
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
||
| 16.12.2014, 18:48 [ТС] | ||
|
0
|
||
|
|
||
| 16.12.2014, 18:53 | ||
|
Чуть позже, если надо, могу сделать вам простенький пример.
1
|
||
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
||
| 16.12.2014, 19:06 [ТС] | ||
|
0
|
||
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
||||||
| 16.12.2014, 21:34 | ||||||
|
Tini, не надо указывать ему ни на что, в функцию, которая вызывается из потока добавь
1
|
||||||
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
|
| 16.12.2014, 23:06 [ТС] | |
|
Вставил - не получилось. Я и в вызываемую дополнительным потоком функцию вставить пробовал, и в функцию вызывающую новый поток, в конце уже с дури и в сам начальный код вставлял - не нравится им this. Значит все-таки нагрузка идет на основной поток. Понимаете, я и хочу добиться, чтобы главную форму вообще не загружать, а то создал окно с одним потоком, а программа у меня качает данные с сайта из интернета, то есть, как я слышал их принято называть, парсер. А для остановки этой самой программы нужно как раз нажать на одну из кнопок на форме. Понимаете комичность ситуации.После этого и открыл для себя чудесный мир потоков. Плюс ко всему пытаюсь еще и грамотно писать, то есть разделять программу на отдельные логические блоки. Да вот беда - знаний мало, поэтому и плюхаюсь в смешных вопросах. Мне почему-то кажется, что вы не читали наш диалог с insite, если я ошибся, то извиняюсь. Вы предлагаете поставить ваш код в вызываемую новым потоком функцию, но она ведь является статическим методом, и в области этой самой функции this кажется ей птенцом кукушки. Я в интернете полазил и убедился, что обратиться как к статическому методу класса, так и к методу отдельного экземпляра очень просто, но я никак не могу понять: как обратиться именно этому моему экземпляру окна ? Конструктор создает его через InitializeComponent(). Где же имя ? Понимаете ? Я уверен, что вы знаете ответ, просто, возможно, я неправильно излагал суть проблемы. То есть при запуске программы конструктор создает экземпляр Form1, с которым я работаю. Где найти его имя в конструкторе ? Или как дать ему имя ? А то получается, что методы и поля экземпляра есть, а самого экземпляра нет.
0
|
|
|
|
|||||||
| 16.12.2014, 23:42 | |||||||
|
MakcPletnev, я бы вас попросил, вы или пишите как положено, или не пишите вообще, чтобы не вводить новичков в заблуждение.
Tini, вот вам пример. Тестовый. Форма, две кнопки и два лейбла, с именами по умолчанию. При нажатии любой из них создается экземпляр класса, делается подписка на событие в классе и вызывается его метод, который создает и запускает поток. Этот поток в цикле генерирует событие, при наступлении которого соответствующий лейбл меняет свое значение. Разбирайтесь, там есть много комментариев.
1
|
|||||||
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
|
| 17.12.2014, 13:04 [ТС] | |
|
Спасибо большое, сейчас голова уже не варит, спать пора, но завтра обязательно подробно изучу ваш пример.
Добавлено через 13 часов 9 минут Ууууу ... день у меня точно займет разбор вашего примера. Много новой информации.
0
|
|
|
52 / 13 / 0
Регистрация: 05.09.2014
Сообщений: 92
|
|||||||||||
| 11.06.2015, 02:31 [ТС] | |||||||||||
|
В продолжение темы. Уважаемый Insite, а почему вы реализовываете взаимодействие именно через событие ? Я попытался создать некий аналог взаимодействия элементов формы с созданным потоком и у меня получилось.
Добавлено через 21 час 19 минут Никакой реакции - настолько плохой код ?)))
0
|
|||||||||||
| 11.06.2015, 02:31 | |
|
Помогаю со студенческими работами здесь
13
Использование DLL для приема-передачи данных в разных приложениях
Использование имя object в свойстве класса Использование класса для хранения данных. Использование каналов передачи данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|