C # исключение для доступа к одним и тем же ресурсам два раза - PullRequest
1 голос
/ 20 июня 2010

Использование Windows Forms и вызов WordNet API в обработчике нажатий кнопок:

frmWordnetAPI relatedWords = new frmWordnetAPI ();
        relatedWords.ShowDialog();

этот API получает некоторые данные из каталога исходных файлов.

При компиляции программы, при первом нажатии кнопки форма отлично загружается, но когда я закрываю API и нажимаю кнопку еще раз, чтобы загрузить, выдается исключение:

The process cannot access the file 'D:\MIT\project\wordnet API\TestApplication\WNdb-3.0\dict\index.adj' because it is being used by another process.

Следующий код вызывает исключение:

BinarySearchTextStream searchStream = new BinarySearchTextStream(indexPath, new BinarySearchTextStream.SearchComparisonDelegate(delegate(string searchWord, string currentLine)
                        {
                            // if we landed on the header text, search further down
                            if (currentLine[0] == ' ')
                                return 1;

                            string currentWord = currentLine.Substring(0, currentLine.IndexOf(' '));
                            return searchWord.CompareTo(currentWord);

                        }));

Пожалуйста, помогите!

1 Ответ

1 голос
/ 20 июня 2010

На этот вопрос нельзя ответить тем, что вы здесь изложили. Никто не знает, что такое «BinarySearchTextStream» и что он делает (по крайней мере, Google ничего не говорит об этом). Я могу дать вам только общие советы - закройте ваши потоки, используйте с помощью (...) {} и не открывайте файлы с эксклюзивным флагом (например, FileShare.None).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...