C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Конфликт ShellExecute с Open,Save диалогами, Скоро диплом сдаватьа глюк хз как убрать
FANTOM181
Отправлено: 12.05.2005, 15:36


Ученик-кочегар

Группа: Участник
Сообщений: 20



Есть у меня в моей проге HTML справка, которая вызывается из меню:
CODE

void __fastcall TMainform::N19Click(TObject *Sender)
{
ShellExecute(Handle, "open", "Help\\index.htm", NULL, NULL, SW_SHOWNORMAL);
}


Ситуация такая:
1. Запускаю мою прогу
2. Жму меню справка
3.Открывается справка — всё без глюков.

НО если последовательность будет такая:
1. Запускаю мою прогу
2а. Совершаю какие либо операции, после чего жму сохранить в файл и сохраняю данные.
2b. Вызываю диалог загрузки из файла LoadFromFile
3. Жму меню спрака — и реакция нулевая((, ничего непроисходит.
Предпологаю, что при вызове диалога Загрузить/Сохранить каким то образом меняется путь к корневому каталогу, где лежит экзешник моей проги, таким образом путь к справке становится неверен и она негрузится.
Люди плиз скажите как это поправить, скоро здавать диплом, очень хоцца исправить это...)
Vlad
Отправлено: 12.05.2005, 15:57


Машинист паровоза

Группа: Участник
Сообщений: 231



String st;
st=ExtractFilePath(Application->ExeName)+"Help\\index.htm"
ShellExecute(Handle, "open",st , NULL, NULL, SW_SHOWNORMAL);
всегда найдет[COLOR=red]
FANTOM181
  Отправлено: 12.05.2005, 19:09


Ученик-кочегар

Группа: Участник
Сообщений: 20



Огромное СПАСИБО +)
Guest
Отправлено: 13.05.2005, 10:50


Не зарегистрирован







ShellExecute(Application->Handle,"open","Project1.exe",NULL,ExtractFilePath(Application->ExeName).c_str(),SW_SHOWNORMAL);

Пятый параметр этой функции — активная папка. можно устанавливать ее вместо указания полного пути.
Vlad
Отправлено: 13.05.2005, 10:58


Машинист паровоза

Группа: Участник
Сообщений: 231



Если запускаешь просто так то NULL, если хочешь откуда то путь.
lpDirectory Pointer to a null-terminated string that specifies the default directory.

Вернуться в Вопросы программирования в C++Builder