Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет на вызов сайта, Запрет на вызов неразрешенного сайта 
:(
    Опции темы
ProgV
Дата 21.3.2012, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите товарищи! Пожалуйста! Разрабатываю браузер с программируемым запретом на вызов неразрешенного сайта. Пишу, значит, так:
Код

void __fastcall TForm1::CppWebBrowser1BeforeNavigate2(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL, Variant *Flags,
      Variant *TargetFrameName, Variant *PostData, Variant *Headers,
      VARIANT_BOOL *Cancel)
{
  Form2->Edit1->Text = URL->operator AnsiString();
  if(URL->operator AnsiString()!= Form2->ComboBox1->Text)
  {
     MessageDlg("Данный сайт запрещен для просмотра.\n"
               "Спросите разрешения у родителей", mtWarning,
               TMsgDlgButtons()<<mbOK, 0);
     CppWebBrowser1->Stop();
  }
  dc = 0;
}

А этот CppWebBrowser1 все равно загружается, несмотря на Stop() smile 

Это сообщение отредактировал(а) ProgV - 22.3.2012, 08:12
PM MAIL   Вверх
_Dimon_
Дата 22.3.2012, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

//вместо CppWebBrowser1->Stop(),
*Cancel = true;


 smile Ты этот вопрос на всех форумах запостил?  smile 
PM MAIL   Вверх
xvr
Дата 22.3.2012, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(ProgV @  21.3.2012,  12:13 Найти цитируемый пост)
А этот CppWebBrowser1 все равно загружается, 

Посмотрите внимательно на сравнение (в if'е). Вы сделали запрет на все сайты, кроме того, что в Form2->ComboBox1->Text

PS. URL->operator AnsiString() мягко говоря излишен. Достаточно просто URL

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


Бывалый
*


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

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



Цитата(xvr @  22.3.2012,  13:59 Найти цитируемый пост)
PS. URL->operator AnsiString() мягко говоря излишен. Достаточно просто URL


[BCC32 Error] Main.cpp(125): E2034 Cannot convert 'Variant *' to 'UnicodeString'

надо *URL

Добавлено @ 15:59
Цитата(xvr @  22.3.2012,  13:59 Найти цитируемый пост)
Посмотрите внимательно на сравнение (в if'е). Вы сделали запрет на все сайты, кроме того, что в Form2->ComboBox1->Text



Я думал что ProgV наоборот делает список разрешенных сайтов.
А то что он берет только одно значение из комбобокса, так это так, для пробы ..... smile  

А вообще-то c такой жесткой привязкой к УРЛ пропадет и полезная навигация по сайту. Лучше так сделать:
Код

if(Pos(Form2->ComboBox1->Text, *URL) ==/*ну или !=*/ 0)
{
  // код
}



Это сообщение отредактировал(а) _Dimon_ - 22.3.2012, 16:01
PM MAIL   Вверх
ProgV
Дата 23.3.2012, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

А вообще-то c такой жесткой привязкой к УРЛ пропадет и полезная навигация по сайту. Лучше так сделать:код C++ Builder
if(Pos(Form2->ComboBox1->Text, *URL) ==/*ну или !=*/ 0)
{
  // код
}


Спасибо за понимание Dimon! Но указанная выше подсказка не пошла. Компилятор ругается:

[C++ Ошибка] Unit1.cpp(106): E2268 Call to undefined function 'Pos'

Что касается подсказки *Cancel = true; она действует. Но из-за того, что, наверное страница загружается по-элементно, данный код не дает
загружаться даже разрешенным сайтам, потому, что различные элементы страницы имеют URL отличный от разрешенного. Чтож, будем думать. Но я буду благодарен за любую подсказку. 
PM MAIL   Вверх
_Dimon_
Дата 23.3.2012, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(ProgV @  23.3.2012,  08:42 Найти цитируемый пост)
Но из-за того, что, наверное страница загружается по-элементно, данный код не даетзагружаться даже разрешенным сайтам, потому, что различные элементы страницы имеют URL отличный от разрешенного. 


Ну да, впринципе. Хотя если даный функционал делается для детей, например, то страницу загрузит, а голую бабу, которая появилась на банере, нет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

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

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

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




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


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

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