Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.23;
Скачать: CL | DM;

Вниз

Что делаю не так?   Найти похожие ветки 

 
Новичок   (2009-06-22 21:43) [0]

Что делаю не так? Нужно на новой вкладке TTabSheet, динамически создать TWebBrowser. Вот код:

procedure TForm1.BitBtn3Click(Sender: TObject);

begin
 n:=Length(TabSheet)+1; //количество вкладок
 SetLength(TabSheet,n); //увеличить размер массива на 1
 TabSheet[n-1]:=TTabSheet.Create(self); //создать вкладку, n-1 т.к. нумерация с 0
 TabSheet[n-1].Caption:="Вкладка "+IntToStr(n-1);
 TabSheet[n-1].PageControl:=PageControl2;
 PageControl2.ActivePage:=TabSheet[n-1]; //сделать активной

end;

procedure TForm1.BitBtn4Click(Sender: TObject);
var
wb:^TWebBrowser;//указатель
begin
New(wb);
wb^:=WebBrowser1;//теперь указатель указывает на старый компонент
WebBrowser1:=TWebBrowser.Create(self);//создаем новый одноименный компонент
TWinControl(WebBrowser1).Parent:=TabSheet;
WebBrowser1.Width:=406;
WebBrowser1.Height:=231;
WebBrowser1.Left:=350;
WebBrowser1.Top:=15;
//WebBrowser1.OnDocumentComplete:=WebBrowser1DocumentComplete;//передаем компоненту все полномочия старого
WebBrowser1.Navigate("www.google.ru");//загружаем страничку в компанент
wb^.Free;//уничтожаем старый компонент по указателю на него

end;


 
Anatoly Podgoretsky ©   (2009-06-22 21:47) [1]

Хотя бы это, дальше и смотреть не стал.

wb:^TWebBrowser;//указатель


 
Palladin ©   (2009-06-22 22:01) [2]


> wb:^TWebBrowser


что значит этот код?


 
Новичок   (2009-06-22 22:05) [3]


>
> > wb:^TWebBrowser
>
>
> что значит этот код?

Указатель на старый компонент


 
Германн ©   (2009-06-23 00:31) [4]


> Новичок   (22.06.09 22:05) [3]
>
>
> >
> > > wb:^TWebBrowser
> >
> >
> > что значит этот код?
>
> Указатель на старый компонент
>

xx : ^SomeObject  было нормой в ТурбоПаскале. Сейчас другие времена.
Надо прочитать хотя бы одну книжку по Дельфи.


 
Dennis I. Komarov ©   (2009-06-23 09:12) [5]

procedure TForm1.BitBtn4Click(Sender: TObject);
var
 wb: TWebBrowser;

begin
 WebBrowser1:=TWebBrowser.Create(self);
 TWinControl(WebBrowser1).Parent:=TabSheet;
 WebBrowser1.Width:=406;
 WebBrowser1.Height:=231;
 WebBrowser1.Left:=350;
 WebBrowser1.Top:=15;
 WebBrowser1.OnDocumentComplete:=WebBrowser1DocumentComplete;
 WebBrowser1.Navigate("www.google.ru");
end;


Как-то так. Над выделеным - подумать


 
Новичок   (2009-06-23 15:26) [6]

Может кому-то из начинающих интересно будет. Как решил эту проблему я....

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
 n:=Length(TabSheet)+1; //количество вкладок
 SetLength(TabSheet,n); //увеличить размер массива на 1
 TabSheet[n-1]:=TTabSheet.Create(self); //создать вкладку, n-1 т.к. нумерация с 0
 TabSheet[n-1].Caption:="Вкладка "+IntToStr(n-1);
 TabSheet[n-1].PageControl:=PageControl2;
 PageControl2.ActivePage:=TabSheet[n-1]; //сделать активной
 CreateWb;
end;

procedure TForm1.CreateWb;
var
wb: TWebBrowser;
begin
WebBrowser1:=TWebBrowser.Create(self);//создаем новый одноименный компонент
TWinControl(WebBrowser1).Parent:=TWinControl(PageControl2.ActivePage); // Отобразить новый Webbrowser на активной странице PageControl
WebBrowser1.Width:=406;
WebBrowser1.Height:=231;
WebBrowser1.Left:=350;
WebBrowser1.Top:=15;
WebBrowser1.Align :=alClient;
WebBrowser1.Navigate(combobox1.Text);//загружаем страничку в компанент
end;


 
{RASkov} ©   (2009-06-23 23:58) [7]

> [6] Новичок   (23.06.09 15:26)
> Как решил эту проблему я

ты ее не решил.... немного видоизменил а код все равно не качественный :)
И зачем в CreateWb; переменная wb?)
Вот это:

> WebBrowser1.Width:=406;
> WebBrowser1.Height:=231;
> WebBrowser1.Left:=350;
> WebBrowser1.Top:=15;

делается вызовом одного лишь метода... но если следом устанавливаешь алигн, то смысл задавать размеры и положение?


 
Германн ©   (2009-06-24 00:55) [8]


> {RASkov} ©   (23.06.09 23:58) [7]
>
> > [6] Новичок   (23.06.09 15:26)
> > Как решил эту проблему я
>
> ты ее не решил.... немного видоизменил а код все равно не
> качественный :)
> И зачем в CreateWb; переменная wb?)

Привычка. Точнее "некий перевод" с ТП. Там ведь нужно было что-то передать  процедуре New в качестве параметра.
А ещё точнее - Денис виноват. :)


 
Dennis I. Komarov ©   (2009-06-24 09:06) [9]


> А ещё точнее - Денис виноват. :)

Аа..а, где? =-O
Я же выделил "подумать"...


 
Новичок   (2009-06-24 14:02) [10]

Согласен, что её видоизменил маленько. Но ведь работает! Учиться, учиться и ещё раз учиться! Как завещал великий дедушка Ленин!


 
Новичок   (2009-06-24 14:24) [11]

А вот ещё хочу поинтересоваться. Если я динамически создаю WebBrowser, а потом его нужно закрыть. Получается его в массив тоже надо записывать?


 
Новичок   (2009-06-24 16:09) [12]

После долгих измываний решил остановиться на этом.

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
n:=Length(TabSheet)+1; //количество вкладок
SetLength(TabSheet,n); //увеличить размер массива на 1
TabSheet[n-1]:=TTabSheet.Create(self); //создать вкладку, n-1 т.к. нумерация с 0
TabSheet[n-1].Caption:="Вкладка "+IntToStr(n-1);
TabSheet[n-1].PageControl:=PageControl2;
PageControl2.ActivePage:=TabSheet[n-1]; //сделать активной
CreateWb;
end;

procedure TForm1.CreateWb;
var     WB:TWebBrowser;
begin
WB:=TWebBrowser.Create(tabsheet[n-1]);
tabsheet[n-1].InsertControl(WB);
wb.Align:=alclient;
end;



Страницы: 1 вся ветка

Текущий архив: 2009.08.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.005 c
2-1245784213
Mishechka
2009-06-23 23:10
2009.08.23
Работа с ini-файлом..?


15-1245665286
Style
2009-06-22 14:08
2009.08.23
php mssql


2-1245923503
@!!ex
2009-06-25 13:51
2009.08.23
Как установить окну пустой курсор?


15-1246048203
Юрий
2009-06-27 00:30
2009.08.23
С днем рождения ! 27 июня 2009 суббота


8-1196707594
_alex_
2007-12-03 21:46
2009.08.23
Декомпрессоры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский