Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.04.2018, 07:06
Аватар для LIONSMILE
LIONSMILE LIONSMILE вне форума
Новичок
 
Регистрация: 19.03.2018
Сообщения: 51
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Сохранение WEB страницы с вкладки WebBrowser

Доброго времени суток!

Сделал небольшое приложение, все получилось все работает. Но не могу разобраться с сохранением WEB страницы. По подробнее - на форме есть PageControl на которую помещен вэб-браузер. При работе вэб-браузер в процедуре WebBrowser1NewWindow2 создает вторую вкладку в PageControl, на нее кидает WebBrowser, в котором собственно и отображается результат. Простое сохранение в одном окне WebBrouser делал так:

Код:
procedure TForm1.Button6Click(Sender: TObject);
begin
WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
end;

Все работает, все замечательно, вылетает диалоговое окно, выбираешь формат, сохраняешь.
В данном случае получается две вкладки и когда вторая вкладка создана, при нажатии на кнопку "Сохранить" - он сохраняет первую вкладку WebBrouser. А как сохранить вторую?
Мне нужен вариант сохранения именно с функциями OLECMDID enumeration, она же описана в коде выше. Перерыв кучу страниц в интернете, нормальных (да и ненормальных тоже) вариантов решения проблемы не нашел. Пытался использовать вариант такого плана (называется "Извращениям нет предела"): после того как на первой вкладке страница загружена, выполнила код, вывела результат в окно вэб-браузера на второй вкладке, убивал вкладку №1 - все равно - сохраняет только то, что грузилось в первой вкладке.

P.S. Варианты cохранения с использованием CDO (Collaboration Data Objects) не рассматриваю, там "рак мозгов" полный. +100500 вариантов cdosys.dll - при подключении которых, или же вылетают ошибки о том, что такой dll просто нет в системе (хотя она установлена и зарегистрирована), или если брать готовые ***.pas модули то они все равно не работают, так как версии dll прописываются в реестре, а соответственно найти к какой dll относится ***.pas и как он был сделан нельзя, как правило ***.pas выложены без dll на базе которых они созданы.



Спасибо заранее.

Последний раз редактировалось LIONSMILE, 26.04.2018 в 07:14.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025