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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2008, 23:22   #1
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
Восклицание Parent...

Доброе время суток.У меня проблема в следующем...
Вот код :
Код:
var
t:Ttabsheet;
web:Twebbrowser;
begin
t:=Ttabsheet.Create(self);
web:=Twebbrowser.Create(self);
web.parent:=t  << ошибкаl1;
.......

Почему когда я пытаюсь изменить предка у Webbrowser он мне выдаёт ошибку с текстом "cannot assign to a read-only property"...
Как мне сделать динамически созданный компонент webBrowser дочерним для Tabsheet...?
prizrak1390 вне форума Ответить с цитированием
Старый 28.03.2008, 23:32   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Закладки Ttabsheet вроде бы можно создавать только для TPageControl, т.е. нужно добавить на форму TPageControl, а в коде дописать t.PageControl := PageControl1;
Jeni вне форума Ответить с цитированием
Старый 28.03.2008, 23:34   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
constructor Create(AOwner: TComponent); override;
TabSheet у вас принадлежит PageControl-у, так ведь?
Вы же сами указали, что создали WEB для формы, а не для PageControl...
И еще одно. Ну когда же вы прекратите использовать в наименованиях зарезервированные слова?

Последний раз редактировалось mihali4; 28.03.2008 в 23:37.
mihali4 вне форума Ответить с цитированием
Старый 28.03.2008, 23:34   #4
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Закладки Ttabsheet вроде бы можно создавать только для TPageControl, т.е. нужно добавить на форму TPageControl, а в коде дописать t.PageControl := PageControl1;
Это в коде есть....просто я урезал код. Суть в том что мне нужно в закладке разместить WebBrowser.....
prizrak1390 вне форума Ответить с цитированием
Старый 28.03.2008, 23:50   #5
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
t:Ttabsheet;
wbs:Twebbrowser;
begin
t:=Ttabsheet.Create(self);
t.PageControl:= form1.PageControl1;
t.Caption:='ZZZZZZ';
wbs:=Twebbrowser.Create(t);
t.InsertControl(wbs);

end;
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 28.03.2008, 23:54   #6
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Спасибо....
prizrak1390 вне форума Ответить с цитированием
Старый 29.03.2008, 00:02   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Только лучше в качестве владельца использовать форму, т.е. писать web:=Twebbrowser.Create(self);

P.S. А у Twebbrowser свойство Parent и вправду только для чтения.
Jeni вне форума Ответить с цитированием
Ответ


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