![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Здрасте!
Есть проблема при использовании ShellExecute. Открываю с помощью этой команды html-страницу(напимер: C:\html.html) в браузере (который стоит в ОС по умолчанию). При первом выполнении все замечательно работает: открывается браузер и показывается моя страничка. Не закрывая программы при повторном вызове это команды вылетает ошибка что этот файл занят другим процессом и так до перезапуска самой программы. Так открываю страницу html: Код:
ShellExecute( 0, 'open',Pansichar(ExtractFilePath(Application.ExeName) + 'html.html'), nil, nil, SW_NORMAL ) Кто знает как решить эту проблему? Заранее спасибо!) |
#2
|
||||
|
||||
![]() Попробуйте так:
Код:
If (ShellExecute(Application.MainForm.Handle, PChar('open'), PChar('http://...'), Nil, Nil, SW_ShowNormal)<32) Then MessageBox(0, PChar('Не могу запустить браузер!'), PChar('Ошибочка вышла'), MB_OK + MB_ICONERROR + MB_APPLMODAL + MB_TOPMOST); У меня работает. У меня стоит Firefox по умолчанию, при повторном нажатии на пункт меню появляется новая закладка (такая же) в браузере. Чем больше знаешь, тем сильнее осознаёшь, что знаешь гораздо меньше, чем не знаешь!.. |
#3
|
||||
|
||||
![]() Да, это работает, спасибо
![]() Извините меня, только щас заметил в чем дело было, и вопрос немного не корректно я задал ![]() Дело в том что перед тем как вызвать команду на отображение, я вношу изменения в файл html и только потом делаю вывод в браузер. Тут то и выходила ошибка о том, что файл занят другим процессом (даже если все вкладки в браузере с моим файлом закрыты). Если не изменять файл, то все норм по несколько раз выводиться в браузер. Но вот как сделать что бы после вывода в браузер можно было изменять его? может кто знает как исправить? |