Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Че за ошибка??? Добавлено: 30.03.06 14:13  

Автор вопроса:  avdey | ICQ: 219571279 
My.Computer.FileSystem.CopyFile("D:\PreBase\" & File1.Items(Ind), PAT & txtNaim.Text & ";" & txtSer.Text & ";" & Comb.Text & ".jpg", True)
        Kill("D:\PreBase\" & File1.Items(Ind))


Доходя до строки с Kill пишет вот это:
IOException was unhandled
The process cannot access the file 'D:\PreBase\4п;Алоэ д-и 1мл;180705;Дальхимфарм.jpg' because it is being used by another process.

Копировать-то копирует, а удалить не хочет. Пробовал FileMove, тоже самое, на нем застревает. У меня еще этот самый файл (копируемый) торчит в Image, может из-за этого, но... перед FileCopy загружал в Image другой файл, опять ошибка, может не успевает перед копированием сменить файл в Image и поэтому пишет что файл занят???
Подскажите...

З.Ы. В VB6 этот код работал, а в VB2005 нехочет...

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 SRV



ICQ: 254226129 

Вопросов: 30
Ответов: 107
 Профиль | | #1 Добавлено: 30.03.06 15:26
Ты наверное забыл дописать ещё имя файла, программа не может удалить файл если ты указал только путь к нему, допиши D:\PreBase\123.txt может получится :)

Ответить

Номер ответа: 2
Автор ответа:
 SRV



ICQ: 254226129 

Вопросов: 30
Ответов: 107
 Профиль | | #2 Добавлено: 30.03.06 15:26
аааа, сорри, не рассмотрел ещё & File1.Items(Ind)

Забираю выше написанное назад :)

Ответить

Номер ответа: 3
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #3 Добавлено: 30.03.06 15:57
Попробовал картинку в Image вообще не загружать, все шпарит.
Ставлю значение Image1.Image = Nothing перед копированием (чтобы выгрузить копируемый файл), опять ошибка........, а мне нужно чтобы текущая картинка загружалась в Image...

Ответить

Номер ответа: 4
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #4
Добавлено: 01.04.06 05:38
Попробуй Dispose'нуть картинку, если она умеет.
Лучше даже какой-нить Image1.Clear или вроде того.
Ну и GC.Collect после этого.

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 01.04.06 13:52
Я сталкивался с подобной бедой. Тут фишка в другом, после загрузки картинки у тебя Stream наверняка остается открытым, и пока ты его принудительно не закроешь, картинку не удалишь.

Ответить

Номер ответа: 6
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #6 Добавлено: 01.04.06 13:53
Ну, значит картинка занята, видимо, даже не твоим процессом...
Image файл не занимает.
Диспозить тоже не прокатит.

И вообще... DoEvents поставть между Киллом и Копированием.

Ответить

Номер ответа: 7
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #7 Добавлено: 03.04.06 14:31
2Noviks
Ну, значит картинка занята, видимо, даже не твоим процессом...

Тык в VB6 все шпарит!!!!!!! А в VB2005 вылазит ошибка!!!!!! С DoEvents не работает...

2EROS
Я тоже склоняюсь к этому мнению...
Если поочереди загружать в Image 10 картинок, то когда загружена 10 картинка ты к 1 доступ не получишь, значит сохраняется какая-то связь и как ее разорвать - главный вопрос!!!

2All
Тема еще открыта, есть идеи???

Ответить

Номер ответа: 8
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #8 Добавлено: 03.04.06 22:22
Да какие тут идеи.. я ж тебе говорил,что у тебя поток открытый остается.. я сам на эти грабли наступил. Чтобы это обойти, надо принудительно закрыть поток.. сделать это можно прмерно так:

        Dim ImgPath As String = ";D:\Test.jpg"
        Dim ImgCopyPath As String = ";D:\CopyTest.jpg"
        Dim fs As FileStream = File.Open(ImgPath, FileMode.Open)
        PictureBox1.Image = Image.FromStream(fs)
        fs.Close()
        My.Computer.FileSystem.CopyFile(ImgPath, ImgCopyPath, True)
        My.Computer.FileSystem.DeleteFile(ImgPath)


И никакой связи.. :-)

Ответить

Номер ответа: 9
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #9 Добавлено: 04.04.06 15:05
Надо заценить твой код, Спасибо!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам