|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
|||||||||||||||||||||
Ошибка при добавлении картинки в PictureBox16.01.2014, 00:49. Показов 5044. Ответов 12
Метки нет (Все метки)
Во общем делаю визуальное наблюдения за другой программой. Решил сделать через обичные скриншоты окна этой программы. И впринцепе то всё нормально работает, но стоит мне только СВЕРНУТЬ(в панель задач) окно моей программы в котором расположен PictureBox которому каждую секунду присваевается скриншот другой программы и сразу же после разворачивания моей программы вылазит ошибка...
Попробовал поставить условие - если состояние окна == свёрнуто то не присваевать картинку, но ничего не меняется... Добавлено через 2 часа 45 минут Короче жесть просто какая то... Вот так вот работает, но память жрёт просто ацки:
Добавлено через 42 минуты Короче я хз, на последнем дыхании наколдовал вот так вот, работает нормально, и памяти жрёт очень не много:
Если у кого нить есть какие то знания по этому делу - растолкуйте мне пожалуйста... И ещё очень бы хотел услыхать советы по делу максиммально быстрого показа изображений(ибо я могу получать только скриншоты типа Image) в PictureBox или другим способом не важно... Но главное что б быстро и максиммально оптиммизированно. Буду рад любым советам и помощи в этом вопросе. Ибо крайне сомневаюсь что моя реализация во обще хорошая...
0
|
|||||||||||||||||||||
| 16.01.2014, 00:49 | |
|
Ответы с готовыми решениями:
12
Ошибка 500 при добавлении картинки товару (virtuemart) Добавить подсказку на PictureBox для элементов при их добавлении |
|
|
||||||
| 16.01.2014, 01:50 | ||||||
2) using рубает вашу картинку в фоновом потоке, хотя она ещё находится на pictureBox. Точнее - когда как. 3) несмотря на то что using в конце вызывает освобождение ресурсов, у GC свое расписание.
0
|
||||||
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
|
| 16.01.2014, 11:49 [ТС] | |
|
Ну пустой catch у меня стоит по причине того, что мне не нужно никакой информативности во время ошибки, мне как раз наоборот нужно что б если ошибка то она проходила незамечено. (Пишу софтину для себя).
Ну а на счёт того почему исключение вылазит именно когда свернуть окно программы есть какие нить мысли? Вроде если бы using освобождал ресурсы картинки в то время когда она ещё используется, то он бы это делал внезависимости от состояния окна, или нет?
0
|
|
| 16.01.2014, 11:59 | |
|
Если в режиме дебага вылетает с такой же ошибкой, тогда Debug->Exceptions->в колонке Thrown поставьте галку на против Common Language Runtime Exceptions. Запустите приложение и воспроизведите ошибку, если сможете скрин сюда.
1
|
|
|
|
|
| 16.01.2014, 13:06 | |
|
Ошибка выше указана, мне ArgumentException ни на какие мысли не наводит. У меня похожая ошибка вылетела, когда случилось переполнение памяти (специально убрал вызов GC с сохраненым Dispolse, хотел посмотреть что происходит с памятью). Возможно какие-то траблы с созанием принскрина, но я не углублялся.
0
|
|
| 16.01.2014, 13:09 | |||||||
|
ArgumentException возникает, при попытке передать некорректное значение, где гарантия, что вот сюда
1
|
|||||||
|
|
||||||
| 16.01.2014, 13:12 | ||||||
0
|
||||||
| 16.01.2014, 13:50 | ||||||
|
Проблема в том что изображение уничтожается до прорисовки в форме, вот рабочий код
1
|
||||||
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
||||||
| 16.01.2014, 17:55 [ТС] | ||||||
|
Grishaco, На сколько я понял, Вы предлагаете перед присваиванием имеджа на PictureBox пропустить его через дополнительный метод?
А возможности нету ибо софтина которую я пишу должна будет мне показывать в реальном времени(на сколько это возможно) визуальное состояние запущенных виртуальных маших VMware. А так как студия у меня стоит тоже на виртуальной машине, и я вчера пробовал в виртуальную машину поставить VMware workstation и она ставится не хочет, а на хосте для установки студии нету свободного места, да и забивать не хочу хост такими тяжелыми вещами... Короче вот так вот... Но всё равно на счёт почему ошибка вылетает именно когда сворачивается, и разворачивается форма я так и не понял.. Единственное что приходит на ум - это как то связано с перерисовкой самой формы, во время разворачивания, и возможно её нужна картинка для прорисовки всей формы во обще, а когда не сворачивать то PictureBox'у всё нормально хватает, ну короче одним словом дупля не режу что это такое...
0
|
||||||
| 16.01.2014, 17:58 | |||
|
1
|
|||
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
|
| 16.01.2014, 18:29 [ТС] | |
|
Да, попробовал, работает нормально, ну впринцепе можна сказать что работает так же как и с ручной чисткой...
Спасибо за решение, его и оставлю. Добавлено через 24 минуты Ну а сам способ как во обще? Адекватное ли это решение реализовать визуальное наблюдение за VM-машинами через скринаы этих самых машин, или возможно у кого есть инфа как это реализовать по другому? Юзаю VIX_Api c# либу под варю... Vestris.VMWareLib
0
|
|
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
||||||
| 18.01.2014, 18:06 [ТС] | ||||||
|
Короче вылезли ещё баги с этими имеджами при ресайзе формы...
Во общем влез в эту тему, подебагил посмотрел и понял что впринцепе то даже без уничтожения картинки каждый раз после присваивания, программа работает нормально, просто память прыгает с 50,000kb до 230,000kb, ибо GC чистит как ему захочется, ну и по этому я тупо вызываю чистку вручную, но самое главное это то, что я теперь картинку вручную не уничтожаю во обще, а тупо чищу все ресурсы которые уже реально не используются, и все баги сразу пропали... Решение:
0
|
||||||
| 18.01.2014, 18:06 | |
|
Помогаю со студенческими работами здесь
13
NullReferenceException при добавлении картинки Кракозябры при добавлении в материал картинки/таблицы и т.д При добавлении картинки в базу возникает исключительная ситуация Рушится проект при добавлении фоновой картинки для компонентов Смена картинки в PictureBox при нажатии на кнопку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|