трабла при использовании файла разными процедурами

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

трабла при использовании файла разными процедурами

Сообщение AnarCky » 23.07.2007 (Пн) 13:34

Привет всем!

Возникла следующая проблема: при выполнении процедуры Form1_Load программа получает доступ к некоему файлу (Katalog.txt) для считывания информации. Но при попытке выполнить другую процедуру и получить доступ к файлу на запись программа сообщает об ошибке ("невозможно получить доступ к файлу ...Katalog.txt т.к. он используется другим процессом") :( read.close() я поставил. Что тогда не так? Help please!

Код процедуры Form1_load:
Код: Выделить всё

    Private Sub AddingSubstances(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            If File.Exists("Katalog.txt") Then
                read = File.OpenText("Katalog.txt")
                subes = Regex.Split(read.ReadToEnd, vbCrLf)

                For Each sbe As String In subes
                    If sbe <> "" Then
                        comp = Regex.Split(sbe, "\|")
                        Select Case comp(2)
                            Case "Простое вещество"
                                provNasv(cmbPV)
                            Case "Кислота"
                                provNasv(cmbKis)
                            Case "Основание"
                                provNasv(cmbOsn)
                            Case "Оксид"
                                provNasv(cmbOks)
                            Case "Гидрид"
                                provNasv(cmbHyd)
                            Case "Соль"
                                provNasv(cmbSol)
                        End Select
                    Else
                        Exit Sub
                    End If
                Next
            Else
                MsgBox("К сожалению не найден файл Katalog.txt. Работоспособность вкладки Каталог веществ не гарантируется.", _
                MsgBoxStyle.Critical, "UCIS")
            End If
            read.Close()

        Catch ex As Exception
            MsgBox("Произошла следующая ошибка: " & ex.Message, _
            MsgBoxStyle.Critical, "UCIS")
        End Try
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 23.07.2007 (Пн) 13:42

Кстати да.
Столкнулся с такой бедой когда грузил картинку в переменную типа Image.
Боролся сбросом переменной в нафин и вызовом сборщика мусора.
Может есть более красивый способ?
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Сообщение AnarCky » 23.07.2007 (Пн) 13:52

Мне в сброс переменной нифига не даст (и не дает!). в этой процедуре одна переменная read, а в той которую пытаюсь выполнить апсолютно другая. но обе юзают один и тот же файл
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 23.07.2007 (Пн) 14:49

А Ридер ГЛОБАЛЬНО шоль объявлен? Есстесно он "теряется"
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Сообщение AnarCky » 23.07.2007 (Пн) 16:15

обьявлен как Dim в классе формы

запихнул объявление в блок процедуры, сработало :D
А простите мне мое любопытство, но почему так?
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 75

    TopList