Программа зависает с потоками в 64 - битной системе при открытии очень больших картинок - Visual Basic .NET
Формулировка задачи:
Вот таким способом я подгружаю картинки в свой вьювер.
Использую потоки, из-за того, что при попытке открыть очень большие файлы без потоков программа зависала вплоть до резета. После того как начал использовать потоки, на 32-х разрядных системах (win7, winXP) всё работает отлично, память освобождается, ничего не зависает, достаточно лишь указать программе открывать следующий файл и она "забывает" про текущий (тот, что не смогла открыть).
НО на 64-х разрядной win7 всё по-прежнему ((. Зависает так, что даже не всегда дает переключиться на диспетчер задач. А там как получится: иногда через минут 5-6 даже сможет открыть этот файл, иногда нет.
В любом случае суть использования потоков была в следующем: если случайно пользователь попытался открыть огромный файл и через несколько секунд понял, что он скорее всего не откроется, то нажимает кнопку Открыть следующий файл или Закрыть программу и программа выполняет соответствующие команды не зависая на упорной попытке всё-таки открыть текущий файл.
Класс IMG - это UserControl
Каждый раз при открытии новой картинки он сначала диспозится, а потом создается заново.
В родительской форме делаю так:
Может какие специфичные настройки для 64-bit систем нужно ставить? Или еще чего?
Решение задачи: «Программа зависает с потоками в 64 - битной системе при открытии очень больших картинок»
textual
Листинг программы
Application.Exit() 'или End()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д