|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|||||||||||
System.StackOverflowException при обращении к элементу главной формы из дочерней формы14.12.2017, 21:23. Показов 3538. Ответов 28
Метки нет (Все метки)
При закрытии дочерней формы (client) необходимо обратиться к элементу listView1 главной формы (server).
// Тут в форме server создаю дочернюю форму frm.
// После чего необходимо при срабатывании события FormClosing дочерней формы client обратиться к listView1 главной формы и закрыть дочернюю форму client.
Как решить проблему? (На главной форме в элементе listView1 наблюдается зацикливание, т.е. появляется бесконечно много пустых сток)
0
|
|||||||||||
| 14.12.2017, 21:23 | |
|
Ответы с готовыми решениями:
28
Как из дочерней формы получить доступ к элементу управления родительской формы Из дочерней формы убрать событие из объекта главной формы (а потом обратно добавить)
|
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
|||||||
| 18.12.2017, 17:13 [ТС] | |||||||
Добавлено через 19 минут Забыл добавить, что в "// Длительные ресурсозатратные вычисления" содержатся ожидаемые методы
0
|
|||||||
|
|
||
| 18.12.2017, 17:22 | ||
|
Выносите длительные операции в поток. Больше никак.
Код можно немного упростить, применив await/async. Добавлено через 1 минуту
1
|
||
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
||||||
| 18.12.2017, 17:32 [ТС] | ||||||
|
Возможно ли такое решение? Вроде работает) Но я не знаю правильно ли так делать и какие могут возникнуть проблемы при таком подходе.
0
|
||||||
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
||
| 18.12.2017, 17:51 [ТС] | ||
|
А цикл нужен чтоб всё это работало не по кнопке, так как в "// Длительные ресурсозатратные вычисления" постоянно обновляется информация и её необходимо обрабатывать. Спасибо!
0
|
||
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
||||||
| 14.12.2018, 21:08 [ТС] | ||||||
|
В данном ответе Вы привели 3 варианта использования механизма async/await (Ещё раз спасибо, активно пользуюсь вторым)
Возникла проблемка: В дочерней форме данный код (немного переделал) запускает 3 задачи (calc1, calc2, calc3), в которых вызываются с разной частотой асинхронные методы (await this.GetOrderBookAsync(); await this.GetTickAsync(); await this.GetBalancesAsync();), которые в свою очередь вызывают асинхронные методы await PostReqAsync(requestUrl, form) и await GetAsync(requestUrl) для запроса данных с сервера. Так работают около 30-40 дочерних форм. Процессор при этом грузится на ~35%, что слишком расточительно. Это нормально для такого количества асинхронных вызовов или код построен неэффективно? Читал что это может происходить из-за частого переключения контекста. Так ли это и как это можно исправить? Есть ли необходимость использовать где либо в коде .ConfigureAwait(false)? Кликните здесь для просмотра всего текста
Профайлер вот что говорит:
0
|
||||||
|
|
||||||
| 14.12.2018, 21:17 | ||||||
|
Вот в этом особого смысла нет:
Что именно грузит процессор, надо смотреть в профилировщике производительности.
0
|
||||||
|
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
|
||
| 15.12.2018, 04:06 [ТС] | ||
|
0
|
||
|
|
|
| 15.12.2018, 09:23 | |
|
Профилировщик может собирать статистику вызовов, сколько времени уход на каждый метод.
У вас показано только 4 строки. На SetResult уходит заметное количество, значит надо сократить его применение.
0
|
|
| 15.12.2018, 09:23 | |
|
Ссылка на объект не указывает на экземпляр объекта при обращении к элементу формы При появлении дочерней формы поверх главной, остаются кнопки родительской Доступ к элементу дочерней формы из параллельного потока Ошибка System.StackOverflowException до загрузки формы Вызов метода главной формы из дочерней Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|