Форум: "WinAPI";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизПроблема с ShellExecute Найти похожие ветки
← →
Ariman (2003-04-17 13:05) [0]В программу на одну из форм вставлена кнопка,
по которой пользователь может пойти на какой-либо сайт.
По click"у выполняю
ShellExecute(0, nil, "http:\\www.google.com", nil, nil, 1);
Если создаю и показываю форму модально все работает - открывается
браузер, однако если форма создается и показывается немодально
ShellExecute возвращает код 2 - File Not Found
(какой здесь файл)
Скорее всего дело не в модальности, но других различий в вызовах
форм вроде нет.
Никак не пойму в чем затык.
← →
-Sesh- (2003-04-17 13:16) [1]У меня так работает
← →
Игорь Шевченко (2003-04-17 13:27) [2]ShellExecute(0,"open"," http://www.google.com","","",SW_SHOW);
← →
Ariman (2003-04-17 13:41) [3]>> Игорь Шевченко © (17.04.03 13:27)
Никакой разницы :()
← →
Игорь Шевченко (2003-04-17 14:58) [4]Значит, ошибка где-то еще. Все прекрасно работает, в модальной и немодальной формах.
Даже из MDI Child вызывается :)
← →
Ariman (2003-04-17 15:28) [5]>> Игорь Шевченко
Так вроде ошибке быть негде.
Разница в двух вызовах только, что один раз вызывается
Form.ShowModal, а в другом Form.Show.
Ну разве что первый случай идет в initialization
секции того же модуля где объявлена форма, а второй
по выбору пункта меню в процессе работы.
Да и причем тут "File Not Found", почему именно эта ошибка?
← →
Ariman (2003-04-19 11:54) [6]Удалено модератором
Примечание: Offtopic
← →
Eug201 (2003-04-20 09:52) [7]Такой фигни нет :)) Несмотря на то, что возвращется, браузер запускается или нет? Ну и кусочек кода приведи. Кстати, форму сам ручками создаешь? Если да - приведи код.
← →
Ariman (2003-05-02 11:07) [8]>> Eug201
Так в том то и дело, что браузер не запускается,
если бы запускался, было бы меньше проблем.
Форму создаю руками. Вот код :
(кнопка вызова находится на форме)
- в этом случае все нормально
...
initialization
TrForm := TTrForm.Create(nil);
TrForm.ShowModal;
TrForm.Free;
TrForm := nil;
end;
- а здесь не работает
if (TrForm = nil) then TrForm := TTrForm.Create(nil);
TrForm.Show;
Application.BringToFront;
- внутри формы вызываем URL
procedure TTrForm.GetButtonClick(Sender: AOwner);
begin
ShellExecute(0, nil, "http:\\www.google.com", nil, nil, 1);
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c