Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
Новичок   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1245338304
Tirael
2009-06-18 19:18
2009.08.23
скорость игрушки


15-1245441971
Andy BitOff
2009-06-20 00:06
2009.08.23
119 никому ненужных фактов, хотя....


15-1245429483
Сергей М.
2009-06-19 20:38
2009.08.23
Пятничная задачка)


1-1211444212
MishaLukash
2008-05-22 12:16
2009.08.23
DBGrid цифровая клавиарура ввод десят.запятой


15-1246004611
Knight
2009-06-26 12:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский