![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Возникла проблема. Необходимо открыть страницу в браузере (не в программе, а во внешнем).
Вроде просто:
Но, необходимо передать не только URL, но и POST информацию. Сейчас работает такой код:
Все бы ничего. Но иногда IE виснет намертво, вешая программу и Explorer. Вопрос: Есть ли альтернативные варианты? И желательно не только в IE, а в браузер по умолчанию. У меня есть вариант: создать страницу с JavaScript, который будет делать переход. Но эту страницу нельзя сохранять на диск. Можно ли ее запихнуть сразу в браузер? |
||||
|
|||||
Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
1. Самое простое - перейти по URL в формате "about: <здесь текст сраницы>", например:
2. Сформировать локально страницу и загрузить в браузер ее. -------------------- |
||||
|
|||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Естественно. Вопрос в том, как заставить браузер перейти на указанный урл и передать серверу эту информацию. Для этого моя программа должна дать браузеру URL и POST информацию. А вот как это сделать, чтобы IE не осыпался... Добавлено @ 15:27
Вроде работает. В рантайме... Если запускаю из Delphi, IE также сыпется по полной программе с завалом всего explorer.exe. Вроде все заплаты стоят. Ерунда какая-то. Опера чисто все проглотила. А IE унес систему в далекую даль. Пришлось ребутиться. |
||||
|
|||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
За вариант спасибо. Может и не пригодиться, но мысль интересная. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 10 Всего: 115 |
Snowy Я вот твой пример пытаюсь посмотреть, не подскажешь что у тебя в USES ?
|
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Подскажу. И немножко код подкорректирую для универсальности. Похожий мне не попадался, так что может пригодиться еще.
|
||||
|
|||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Кстати, все поля формы, за исключением типа FILE, можно заполнять программно.
Сейчас поищу код. Добавлено @ 16:20 Сорри, это не по теме топика - забыл уже первоначальный вопрос. -------------------- |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 1 Всего: 112 |
-------------------- С уважением, г-н Посол. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Так вот этот код и есть. Также пробовал вариант Демо - тоже сыпется. Так что видимо вопрос не к коду, а к взаимоотношениям IE и дельфи. Без дельфи все нормально. На этом бы я и успокоился, но у другого человека та же история без всяких дельфи. Анализ я не проводил - человек удаленный. Может там тоже какой дебагер был... Просто ShellExecute(0,'open',pChar(URL),NIL,NIL,SW_SHOWNORMAL); работает корректно. Пробовал на других машинах, с той же виндой и теми же D7 и IE6. Все корректно даже под Дельфи. Все неясно. Это из серии загадок... Проанализировал последовательность - под дельфей запускаю прогу, она вызывает IE, IE сыпется, вызывается дельфевый дебагер, который мне показывает asm код в треде iexplorer.exe, где все посыпалось. После этого ни программа, ни IE, ни дельфи не отвечают. Закрываю насильно - умирает все, вместе с explorer.exe. explorer перезапускается. Если звуковушка была в той сессии активна, то не освобождается и звука нет до перезагрузки. Вот такие чудеса. Завтра пойду на работу, буду пробовать отключить дельфевый дебагер, ну и еще мысли есть... Вобщем, получается, вопрос закрыт, т.к. артефакт не зависит от кода. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 10 Всего: 115 |
Вот ещё один пост, работает в рантайме.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Так это то же самое.
|
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 10 Всего: 115 |
Так с перламутровыми пуговицами. ![]() |
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Snowy, ну так вопрос решился? Мне тоже надо открыть URL в браузере и передать в одной из полей формы данные. После этого пользователь уже сам нажмет кнопку на форме странички и все нормально отправится. Но как до этого все сделать - не догоняю...
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Я так и не победил. Пришлось изменить правила взаимодействия.
Передавай через Get. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |