![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Код работал нормально до того как я начал использовать openFileDialog
Если я в программе не открываю openFileDialog то всё нормально. Но если я запускаю его, то вот тут:
возникает ошибка: пишет что не может найти "путь до папки из которой открывал openFileDialog\Data\Elfet\Config.xml" А мне нужно что бы сохранилось всё в папку по относительному пути .\Data\Elfet\ к моей программе. В папке где находится программа есть папка Data\Elfet |
||||
|
|||||
| tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
А почему бы тебе не использовать конструкцию:
или
Дело в том, что, как я почитал MSDN, System.Environment.CurrentDirectory указывает на текущую рабочую директорию (с которой взаимодействует поток выполнения),она в процессе работы может меняться. Assembly.GetExecutingAssembly.Location - путь к текущей выполняемой сборке. Если их будет несколько, и в разных папках, то время от времени тоже путь будет меняться, в зависимости от того, код какой сборки выполняется. Assembly.GetExecutingAssembly.ManifestModule.Assembly.Location - путь к сборке, которая содержит манифест. Она одна, думаю, это неплохо -------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А в каком случае она меняется? Может если я не собираюсь трогать ничего такого, можно работать с этой штукой? Добавлено через 2 минуты и 50 секунд Юзать вот так?
|
||||
|
|||||
| AndZho |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 21.10.2006 Репутация: нет Всего: нет |
Можно еще так:
далее
|
||||
|
|||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
Нет, AndZho, не то.
"." тоже каждый раз меняется, в зависимости от того, где находится папка, с которой работает процесс. Хотел в инете найти описание моих вариантов, да что-то не прет. Особенно по System.Environment.CurrentDirectory. Но можно подебагать и просто посмотреть. Или поверьте на слово Elfet,
да, это оно. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| AndZho |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 21.10.2006 Репутация: нет Всего: нет |
Вариант
вроде будет делать то что тебе нужно. Или я чего то не догоняю. |
||||
|
|||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Нет, tol05 прав: "." возвращает текущий каталог, он может изменяться в зависимости от некоторых обстоятельств и необязательно должен быть каталогом програмы. Например
задает текущий каталог. Если не ошибаюсь какая-то винда могла устанавливать в свойствах ярлычка рабочий каталог - это он и есть. У меня ща виста - она такое не умеет. Это сообщение отредактировал(а) archeg - 30.4.2007, 20:15 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
А чем хуже System.Windows.Application.StartUpPath? -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
Еле нашел в MSDN.
Не знаю как у других, а у меня (MSDN for VS codename Orcas) класс System.Windows.Application свойства StartUpPath почему-то не содержит. А содержится оно почему-то в Microsoft.Office.Interop.Excel._Application interface. Это мне уже не нравится Да и библиотека presentationframework.dll с этим классом тоже наверняка не у каждого обнаружится. Как понимаю это для Framework-а 3.0? Короче, проблемы уже здесь. Почитал я о System.Windows.Application классе. Но ведь он предназначен для
А так больше ничего не скажу, вроде прикольный класс. Спасибо за инфу, кстати. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
По-моему, Naum имел в виду System.Windows.Forms.Application.
System.Windows.Application (как и всё пространство имён System.Windows) действительно относится к .NET 3.0, конкретно, к WPF. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
Точно. Прошу прощения за очепятку. Не раз уже проверялось, ничто не мешает вызывать System.Windows.Forms.Application.StartUpPath и в этих случаях. Второе, все равно, если хотим пользовать [Open|Save]FileDialog, без пространства имен System.Windows.Forms никак не обойтись. -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
Это конечно. Просто System.Windows.Application запутало, а мозги у меня и без того слабые -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |