Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не наследуются свойства embeddedwb (webbrowser) в, не наследуются свойства embeddedwb (webb 
:(
    Опции темы
s2004
Дата 22.11.2011, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



Здравствуйте!
 не наследуются свойства embeddedwb (webbrowser) в дочернем окне наличие или отсутствие рисунков и пр., то есть выбираем запрет изображения в главном окне срабатывает в дочернем нет тут следует сказать "дочернее" окно в моём случае при открытие ссылки в основной форме, если просто запустить ещё копию проги, то всё работает


Код

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
Form1.EmbeddedWb1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS]
- [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA, DLCTL_NO_SCRIPTS];
end;
 
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.checked then RadioButton1.checked := false
else RadioButton2.Checked  := true;
if True then
Form1.EmbeddedWb1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions
- [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS,DLCTL_NO_SCRIPTS]
+ [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA];
 
end;



включение или выкдючения изображения, звука...вверху.

 код относящийся к открытию ссылки

Код

procedure TForm1.EmbeddedWB1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
 var Cancel: WordBool);
 var NewWindow:TForm1;
 
begin
NewWindow := TForm1.Create(parent);
SetWindowLong(NewWindow.Handle, GWL_EXSTYLE, GetWindowLong(NewWindow.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
NewWindow.Show;
ppDisp:=NewWindow.EmbeddedWB1.DefaultDispatch; 
 
 end;

PM MAIL   Вверх
pupkindeniska
Дата 22.11.2011, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



ты зачем сам себе грабли поставил Form1.EmbeddedWb1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions

Тебе же надо в новом окне присвоить! Так вот и присваивай после создания окна!

Код

NewWindow := TForm1.Create(parent);
SetWindowLong(NewWindow.Handle, GWL_EXSTYLE, GetWindowLong(NewWindow.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
//ВСТАВКА
NewWindow.EmbeddedWB1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions; //СЮДА
//ВСТАВКА
NewWindow.Show;
ppDisp:=NewWindow.EmbeddedWB1.DefaultDispatch; 

PM MAIL   Вверх
s2004
Дата 22.11.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



ну и как это будет выглядеть ведь в первом коде идёт выбор с рисунком или звуком и тд затем процедура newwindow2 в ней уже ни каких опций по изменению включенно или отключенно нет поэтому я н smile апример не представляю куда там ...
PM MAIL   Вверх
s2004
Дата 22.11.2011, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



весли ранее окно открываемое по сылке никак нереагировало на изменение наличие или нет рис и пр. то сейчас реагирует можно в дочернем окне уже выбрать нужную опцию, но дело в том, что оно сразу открывается при кликание по сылке и получается если в главном окне разрешены рис., то доч.окно может их и не показать а может и показать. у меня три бтн кнопки и два радиобутона завязаных на ини файл возможно тут чехарда творится. Но всё же прогресс тк ранее дочерние окна никак нереагировали на настройки... теперь малость чт обы выбранная опция главного окна передовалась по наследству.

Код


procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS]
- [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA, DLCTL_NO_SCRIPTS];
end;
 
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.checked then RadioButton1.checked := false
else RadioButton2.Checked  := true;
if True then
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
- [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS,DLCTL_NO_SCRIPTS]
+ [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA];
 
end;
 
 Ini.WriteBool('FORM1','RadioButton1Checked',RadioButton1.Checked);
  Ini.WriteBool('FORM1','RadioButton2Checked',RadioButton2.Checked);
  Ini.WriteString('files','path', s); // <--- Сохраняешь измененный путь
 
 
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS]
- [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA, DLCTL_NO_SCRIPTS];
end;
 
 
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES,DLCTL_NO_JAVA]
- [DLCTL_PRAGMA_NO_CACHE,DLCTL_BGSOUNDS, DLCTL_VIDEOS, DLCTL_NO_SCRIPTS];
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if RadioButton2.checked then RadioButton1.checked := false
else RadioButton2.checked := true;
if True then
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
- [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS,DLCTL_NO_SCRIPTS]
+ [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA];
end;



Это сообщение отредактировал(а) s2004 - 22.11.2011, 21:30
PM MAIL   Вверх
pupkindeniska
Дата 23.11.2011, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



s2004


Не пойму последний вопрос? 
Что нужно конкретно сделать?
Ты можешь изменять настройки главного окна - далее в дочернем наследуешь эти настрйоки и дочернее окно будет открываться с такими же настройками как и главное!

Но если ты хочешь изменять настройки открытого второго браузера в процессе работы - то необходимо их менять по нажатию кнопки или при изменении радио баттона и соответственно делать перезагрузку страницы иначе изменений не увидишь!
Опять же той же самой строкой!
Вот к примеру! Или для второго браузера сделать отдельное управление!
Код

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
EmbeddedWb1.DownloadOptions:=EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS]
- [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA, DLCTL_NO_SCRIPTS];
 if NewWindow<>nil then
 Begin
 NewWindow.EmbeddedWB1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions;
 NewWindow.EmbeddedWB1.Refresh;
 end;
end;


Насколько я вижу в коде элементы управления у тебя стоят на форме Form1
А второе окно я вижу что оно создаётся NewWindow := TForm1.Create(parent);

По моему коду, который я тебе привёл видно что я наследую все настройки от твоего главного окна браузера который находится на форме Form1

Код

NewWindow.EmbeddedWB1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions;


если ты хочешь чтоб настройки для второго окна брались из ini файла тогда вместо этой стоки выше вставь код где будут прочитаны настройки из ini файла и присвоены твоему браузеру на новой форме.

Это сообщение отредактировал(а) pupkindeniska - 23.11.2011, 09:22
PM MAIL   Вверх
s2004
Дата 23.11.2011, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



мне надо разумеется наследование свойств главной формы в дочернее тк приходится в ручную изменять уже после открытия дочокна ну попробою отпишу...
PM MAIL   Вверх
s2004
Дата 23.11.2011, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



попробовал выше перечисленное компилируется, но при запуске ошибка по адресу...
PM MAIL   Вверх
pupkindeniska
Дата 24.11.2011, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



s2004 по идеи всё элементарно.....
Если не трудно выложи исходник - покопаюсь.....
Возможно ты сейчас не верно вставил код .... возможно присваиваешь значение ещё не существующему объекту и у тебя выскакивает ошибка.

Чтоб ошибки не было нужно присваивать значение только после создания объекта.
Проверку на форму я тебе поставил а вот проверку на объект браузера нет ибо я не видел в коде где он создаётся.
Так же я не знаю как ты освобождаешь память... и вообще освобождаешь ли ..... этого я не вижу....


PM MAIL   Вверх
s2004
Дата 25.11.2011, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



Цитата

если ты хочешь чтоб настройки для второго окна брались из ini файла тогда вместо этой стоки выше вставь код где будут прочитаны настройки из ini файла и присвоены твоему браузеру на новой форме.

а подробней я там варианты перебрал но присвоение newwindow и inifiles не получается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.