Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 02:51   #1
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
Восклицание web-browser c++ builder 6

Помогите пожалуйста... Написал 1-ый web-браузер.
Потом решил переделать его, добавить вкладки, всё сделал.
Но возникли вот какие проблемы:
1) Не могу сделать, что бы StatusBur1 отображал информацию о загрузке (Как в первой программе), так как компонента CppWebBrowser нет изначально, он создается функцией make_tab(); вместе с новой вкладкой;
2) Не могу сделать, что бы ProgressBar1 отображал информацию о загрузке (Как в первой программе), по той же причине;
3) sComboBox1 не изменяется при загрузке страниц, хотелось бы, что бы как в первой представленной мной программе отображался сайт, на которой находиться активная страница.
Я просто не понимаю как сделать это. Я эту программу готовлю для курсового проекта, может вопросы покажутся глупыми, мы просто не проходили C++ Builder, и для курсового прокта пришлось за кратчайшие сроки изучать всё самому по книгам и статьям, видео урокам. Помогите пожалуйста. Для создания использовал AlphaControls.
Вложения
Тип файла: zip 1.zip (3.07 Мб, 125 просмотров)
Тип файла: rar 2.rar (2.69 Мб, 98 просмотров)
andry-93 вне форума Ответить с цитированием
Старый 06.03.2012, 12:20   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

andry-93, добавьте в функцию make_tab() две строчки__
Код:
void __fastcall TForm1::make_tab() 
{ 
newtab = new TTabSheet(this); 
newtab->PageControl = PageControl1; 
newtab->Name = AnsiString("TabSheet")+IntToStr(PageControl1->PageCount+1); 
newtab->Caption = "Íîâàÿ âêëàäêà";
newbrowser[num] = new TCppWebBrowser(PageControl1); 
newbrowser[num]->TOleControl::Parent = newtab;
newbrowser[num]->TOleControl::Name = AnsiString("CppWebBrowser")+IntToStr(PageControl1->PageCount)+1;
newbrowser[num]->TOleControl::Align = alClient;
  newbrowser[num]->OnStatusTextChange = CppWebBrowser1StatusTextChange;
  newbrowser[num]->OnProgressChange = CppWebBrowser1ProgressChange;
num++;
}
nick42 вне форума Ответить с цитированием
Старый 06.03.2012, 18:48   #3
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
По умолчанию

Спасибо очень помог... Осталось 3)...
andry-93 вне форума Ответить с цитированием
Старый 06.03.2012, 18:59   #4
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

- с "3" не получается. Напрямую не берёт (у массива tagVARIANT, а у штатного браузера - Variant). Как это обойти - не знаю. Можно написать отдельно функцию, где использовать конкретные свойства "индексированного" браузера. Экспериментируй (пока, может быть, опытные товарищи не подскажут).
nick42 вне форума Ответить с цитированием
Старый 07.03.2012, 02:09   #5
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
По умолчанию

Спасибо буду пробывать, но я ещё не настолько хорошо знаю c++ чтобы такое вытварять... Всё токи пока у меня ничего не выходит расчитываю на поддержку более опытных лиц(
andry-93 вне форума Ответить с цитированием
Старый 07.03.2012, 08:34   #6
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Цитата:
Сообщение от andry-93 Посмотреть сообщение
я ещё не настолько хорошо знаю c++ (
Да? А браузер сделал довольно симпатично; там немножко подшлифовать - и вполне хорошая программа.
nick42 вне форума Ответить с цитированием
Старый 07.03.2012, 09:45   #7
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от nick42 Посмотреть сообщение
Да? А браузер сделал довольно симпатично; там немножко подшлифовать - и вполне хорошая программа.
Ну спасибо) Буду пытаться)
andry-93 вне форума Ответить с цитированием
Старый 07.03.2012, 12:18   #8
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Попробуй добавить свою функцию make_info__
Код:
newbrowser[num] = new TCppWebBrowser(this);  //  PageControl1
newbrowser[num]->TOleControl::Parent = newtab;  //
newbrowser[num]->TOleControl::Name = AnsiString("myWebBrowser")+
                     IntToStr(PageControl1->PageCount+1);
newbrowser[num]->TOleControl::Align = alClient;
 newbrowser[num]->OnStatusTextChange = CppWebBrowser1StatusTextChange;
 newbrowser[num]->OnProgressChange = CppWebBrowser1ProgressChange;
 newbrowser[num]->OnNavigateComplete2 = make_info;
 newbrowser[num]->GoHome();
num++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::make_info(TObject *Sender,LPDISPATCH pDisp,tagVARIANT *URL)
{
  sComboBox1->Text = URL->bstrVal;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
nick42 вне форума Ответить с цитированием
Старый 07.03.2012, 13:20   #9
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от nick42 Посмотреть сообщение
Попробуй добавить свою функцию make_info__
Код:
newbrowser[num] = new TCppWebBrowser(this);  //  PageControl1
newbrowser[num]->TOleControl::Parent = newtab;  //
newbrowser[num]->TOleControl::Name = AnsiString("myWebBrowser")+
                     IntToStr(PageControl1->PageCount+1);
newbrowser[num]->TOleControl::Align = alClient;
 newbrowser[num]->OnStatusTextChange = CppWebBrowser1StatusTextChange;
 newbrowser[num]->OnProgressChange = CppWebBrowser1ProgressChange;
 newbrowser[num]->OnNavigateComplete2 = make_info;
 newbrowser[num]->GoHome();
num++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::make_info(TObject *Sender,LPDISPATCH pDisp,tagVARIANT *URL)
{
  sComboBox1->Text = URL->bstrVal;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
На строке
Код:
newbrowser[num]->OnNavigateComplete2 = make_info;
Ошибку выдаёт
Код:
[C++ Error] Unit1.cpp(230): E2034 Cannot convert 'void (_fastcall * (_closure )())()' to 'void (_fastcall * (_closure )(TObject *,IDispatch *,tagVARIANT *))(TObject *,IDispatch *,tagVARIANT *)'
и
Код:
[C++ Error] Unit1.cpp(236): E2316 '_fastcall TForm1::make_info(TObject *,IDispatch *,tagVARIANT *)' is not a member of 'TForm1'
Можешь поподробнее рассписать? Я вставил
Код:
//---------------------------------------------------------------------------
void __fastcall TForm1::make_info()
{
newbrowser[num] = new TCppWebBrowser(this);  //  PageControl1
newbrowser[num]->TOleControl::Parent = newtab;  //
newbrowser[num]->TOleControl::Name = AnsiString("myWebBrowser")+IntToStr(PageControl1->PageCount+1);
newbrowser[num]->TOleControl::Align = alClient;
 newbrowser[num]->OnStatusTextChange = CppWebBrowser1StatusTextChange;
 newbrowser[num]->OnProgressChange = CppWebBrowser1ProgressChange;
 newbrowser[num]->OnNavigateComplete2 = make_info;
 newbrowser[num]->GoHome();
num++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::make_info(TObject *Sender,LPDISPATCH pDisp,tagVARIANT *URL)
{
  sComboBox1->Text = URL->bstrVal;
}
//---------------------------------------------------------------------------
И в Unit.h вставил
Код:
void __fastcall make_info();
Что не так?

Последний раз редактировалось andry-93; 07.03.2012 в 13:22.
andry-93 вне форума Ответить с цитированием
Старый 07.03.2012, 13:28   #10
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Удали __fastcall. Не вижу смысла его писать. Две функции с одинаковом именем и с разными параметрами, так не должно быть.
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3D-WEB Browser andreu_ne Помощь студентам 2 17.03.2011 13:53
Создание формы с web browser waterya Общие вопросы Delphi 3 16.06.2010 14:39
Web browser поиск pnz_punisher Общие вопросы Delphi 5 25.04.2010 20:52
Web-browser BaRSyk174 Общие вопросы Delphi 13 02.10.2009 19:38
Web Browser NoName_emaNoN Работа с сетью в Delphi 5 17.02.2008 11:25