Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: надоедливая ошибка  (Прочитано 4347 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 29-11-2005 05:51 » 

Суть проблемы такая :
Имеется на форме DataGridView контрол. В первой ячейке каждой строки есть картинка.
Всё это дело по нажатии кнопки отправляется в вэб. Но есть проблема. Постоянно ругается на то что не может использовать конкреьный имедж потому что уже занят он другим процессом.

Цитата
The process cannot access the file 'blablabla.jpg' because it is being used by another process.

Везде где можно я делаю Dispose() на имедж но всё одно не помогает Жаль

Вот как я это делаю загружая DataGridView из DataSet'а
Код:
private void dataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
        {
            if (this.dataGridView1.Columns[e.ColumnIndex].Name.Equals("iconFileName"))
            {
                String stringValue = e.Value as string;
                if (stringValue == null) return;
                Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
                Bitmap imageBitmap, imageBitmap2;
                if (stringValue != "")
                {
                    try
                    {
                        imageBitmap = new Bitmap(stringValue);
                        imageBitmap2 = (Bitmap)imageBitmap.Clone();
                        imageBitmap.Dispose();
                    }
                    catch (System.Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex.ToString());
                        imageBitmap = new Bitmap(global::MediaFileUpload.Properties.Resources.default_icon);
                        imageBitmap2 = (Bitmap)imageBitmap.Clone();
                        imageBitmap.Dispose();
                    }
                }
                else
                {
                    imageBitmap = new Bitmap(global::MediaFileUpload.Properties.Resources.default_icon);
                    imageBitmap2 = (Bitmap)imageBitmap.Clone();
                    imageBitmap.Dispose();
                }
                Image myThumbnail = imageBitmap2.GetThumbnailImage(64, 48, myCallback, IntPtr.Zero);
                e.Value = myThumbnail;
                imageBitmap2.Dispose();
            }
        }

        public bool ThumbnailCallback()
        {
            return false;
        }
« Последнее редактирование: 16-12-2007 17:36 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 29-11-2005 06:35 » 

Хмм...
Странно, но проб лема решилась очень просто.
В месте где я считываю файл в поток чтобы отправить по хттп я делал так :
Код:
FileStream inFile = new FileStream(this.FilePath, FileMode.Open);
А надо было всего лиш добавить ещё один параметр
Код:
FileStream inFile = new FileStream(this.FilePath, FileMode.Open, FileAccess.Read);
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #2 : 29-11-2005 09:25 » 

Хе )))
Записан

А птичку нашу прошу не обижать!!!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines