Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2009, 10:59   #1
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию OpenFileDialog не дает записать файл

У меня Windows Form Application. Окно настроек. В нем - TextBox с именем файла. Рядом - кнопка Browse; при нажатии открывается OpenFileDialog.

Помимо того при закрытии программы все настройки сохраняются в файл (и переменные настроек, и функция сохранения - статические в классе OptionsForm).

Такая проблема: если в OpenFileDialog нажать OK, то настройки не сохраняются. Буквально, достаточно просто вызвать OpenFileDialog и нажать OK, и никаких больше действий - и файл в последствии отказывается записываться. С кнопкой Отмена все в порядке. Никаких ошибок или исключений. Я могу вручную менять строку с именем файла до или после Browse - значения не имеет. Мистика какая-то. Такое ощущение, что этот диалог как-то портит функцию сохранения, но никаких связей у них нет.

Кто-нибудь сталкивался с подобным? Есть предположения?

Вот эти две функции:
Код:
static public void SaveOptions (string FileName)
{
	StreamWriter FWriter = new StreamWriter (FileName);

	FWriter.WriteLine ("MLDriver config");
	FWriter.WriteLine (3);
	FWriter.WriteLine (USOCOMPort);
	FWriter.WriteLine (USOSendReciveDelay);
	FWriter.WriteLine (USOChannelsDelay);
	FWriter.WriteLine (USOAutoChannels);
	FWriter.WriteLine (CTGPath);
	FWriter.WriteLine (CTGDelay);
	FWriter.WriteLine (TCPAddress);
	FWriter.WriteLine (TCPDelay);

	FWriter.Close();
}

private void OnCTGBrowse (object sender, EventArgs e)
{
	if (CTGBrowseDialog.ShowDialog() == DialogResult.OK)
	{
// Для простоты я убрал как можно больше действий с диалогом
	}
}
ds.Dante вне форума Ответить с цитированием
Старый 09.10.2009, 11:18   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Чтоб его!..

OpenFileDialog изменет текущую папку. Нужно указывать абсолютный путь к файлу настроек через Application.StartupPath.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать файл в файл программы? Хамяг Общие вопросы Delphi 2 02.11.2008 16:01
Не дает права на php-файл Чих-Пых PHP 2 19.09.2008 18:00
как записать record в файл Kn793 Общие вопросы Delphi 5 01.08.2008 08:10
Заполнить массив и записать в файл Amery Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 27.05.2008 20:02
записать байт файл мандарин Общие вопросы Delphi 8 09.05.2007 20:45