Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142

Работа с динамически созданными обьектами

27.10.2010, 23:07. Показов 5193. Ответов 30
Метки нет (Все метки)

Конкретно нужно создать один обьект(TCppWebBrowser) и указать его родителем другой обьект который был так же создан динамически например вкладка в TRzPageControl (Raize компонент) динамически была создана именно вкладка создается обьект таким образом
C++
1
2
3
  TCppWebBrowser *Browser = new TCppWebBrowser(TabSheet);
  Browser->Name = "Browser" + IntToStr(i);
  Browser->Parent = TabSheet;
получаем такие ошибки

[BCC32 Error] Unit2.cpp(42): E2247 'TCppWebBrowser::Name' is not accessible
[BCC32 Error] Unit2.cpp(43): E2034 Cannot convert 'TRzTabSheet *' to '_di_IDispatch'

вот создание вкладки на случай всякий
C++
1
2
3
4
5
  TRzTabSheet *TabSheet = new TRzTabSheet(RzPageControl1);
  TabSheet->Parent = RzPageControl1;
  TabSheet->Name = "TabSheet" + IntToStr(i);
  TabSheet->Caption = "Вкладка " + IntToStr(i);
  TabSheet->PageControl = RzPageControl1;
так же думаю будет в тему вопрос каким обазом можно сделать динамически обновляющийся список TTreeView выложу свою идею)требуется чтобы при запуске программы она сканировала оределенную папку на наличие подпапок эти папки она будет использвать для составления списка первого уровня второй уровень тем же путем и третий уже по названию содержащихся там файлов...вообще каким образом это возможно сделать?нужно хотябы направление)

Добавлено через 3 часа 41 минуту
С ошибками так ничего и не понял...в чем проблема
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2010, 23:07
Ответы с готовыми решениями:

Работа с динамически созданными объектами
У меня динамически создаются Label со своими значениями Caption Также ставится событие Lb->OnClick = btpclick; Вопрос в том как...

Работа с динамически созданными объекта на PageControl
Здравствуйте. На форме есть PageControl, в нем по ходу работы программы динамически создается RichEdit, все хорошо, вот только не знаю как...

Управление динамически созданными объектами
Ситуация: у меня создается динамически несколько объектов TLabel, допустим 50... Идея в том, что такое количество динамически созданных...

30
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
30.10.2010, 12:03  [ТС]
спасибо огромное)работаю я в CodeGear 2007-м он я так понимю не входит в разряд старых?я попробовал этот способ и не смог скомпилировать программу...получил ошибку получения метода
0
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
01.11.2010, 19:47  [ТС]
Купил 7е издание Архангельского...такой наплыв информации но почему то так нужному мне TSearchRec практически ничего...господин Архангельский сказал мне лишь то что это используется для поиска...а как непонятно прочитал кучу тем где обсуждались проблемы этого самого TSearchRec да можно что то собрать из этого но я хочу понять как это работает с чем это едят и что же можно с этим приготовить)
0
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
13.11.2010, 22:43  [ТС]
С поиском разобрался...возникла проблема открытия html страницы в CppWebBrowser локально я подумал может быт это из за обратного слэша?что с этим можно сделать? вот код
Тут я по двойному клику на лист листбоксе создаю новую вкладку на RzPageControl'e и CppWebBrowser
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void __fastcall TForm2::ListBox1DblClick(TObject *Sender)
{
for(int k=0;k<=100;k++)
{
 if(k == ListBox1->ItemIndex)
 {
 
  
  i++;
  TRzTabSheet *TabSheet = new TRzTabSheet(RzPageControl1);
  TabSheet->Parent = RzPageControl1;
  TabSheet->Name = "TabSheet" + IntToStr(i);
  TabSheet->Caption = "Вкладка " + IntToStr(i);
  TabSheet->PageControl = RzPageControl1;
  RzPageControl1->ActivePage = TabSheet;
  
  TWebBrowser *Browser = new TWebBrowser(this);
  Browser->Navigate(WideString("file:\\\\localhost\\" + ProgPath + "\\" + ListBoxIndex[k]));
  Browser->TOleControl::Parent = TabSheet;
  Browser->TOleControl::Name = "Browser" + IntToStr(i);
  Browser->TOleControl::Align = alClient;
 
 }
 
}
 
}
Вот так нахожу путь к программе

C++
1
2
3
void __fastcall TForm2::FormCreate(TObject *Sender){
ProgPath = ExtractFileDir(Application->ExeName);
}
может стоит попробовать открыть файл выдернуть все содержимое и потом уже отправить его в CppWebBrowser не используя Navigate??
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.11.2010, 22:56
Arnike, в Navigate используйте обычный путь к файлу.
1
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
13.11.2010, 23:07  [ТС]
MikeSoft, Если вы имели в виду это
C++
1
  Browser->Navigate(WideString(ProgPath + "\\" + ListBoxIndex[k]));
то уже пробовал не получается выводил сообщение с путем файла все в порядке...не понимаю тогда в чем может быть ошибка да кстати ListBoxIndex[k]содержит в себе и ".html"

Добавлено через 5 минут
Извиняюсь за свою тупость...но я совсем забыл что у меня имеется ComboBox который содержит подпапку в которой находятся мои страницы...должно было быть так
C++
1
 Browser->Navigate(WideString(ProgPath + "\\" + RzComboBox1->Text + "\\" + ListBoxIndex[k]));
столько времени провозиться и в итоге ошибка в какой то мелочи!)
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.11.2010, 23:12
Цитата Сообщение от Arnike Посмотреть сообщение
столько времени провозиться и в итоге ошибка в какой то мелочи!)
Бывает...
Если в чём-то сомневаетесь - используйте пошаговую отладку.
Там можно отследить, какой из параметров записан неправильно.
1
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
13.11.2010, 23:20  [ТС]
спасибо)буду пробовать...небольшой вопрос в ListBox'e да вообще впринципе можно спрятать определенные символы?но не стирать хотя если нельзя то можно и стереть...я почему то думал что если можно добавить по средствам + то почему бы нельзя удалить -...а вот почему то нельзя)
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.11.2010, 23:25
Arnike, удалить можно любой элемент. Достаточно всего лишь передать необходимый индекс:
C++
1
ListBox1->Items->Delete(i);
По поводу сокрытия элементов я писал здесь: Скрытие или деактивация пункта компонента ComboBox.
Методика описана для TComboBox, но логика - одинаковая.
0
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
13.11.2010, 23:27  [ТС]
MikeSoft, нет вы не поняли я имел в виду только часть строки а не весь элемент мне нужно в лист боксе удалить\спрятать разрешение файлов...выглядит это некрасиво)
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.11.2010, 23:40
Arnike, это ещё проще... в чём проблема?
Элементы представляют собой набор строк (TStrings *), поэтому для каждой строки применимы любые методы обработки.

Например, первый элемент записан как "FirstHTMLPage.htm".
Нам необходимо удалить последние четыре символа. Сделаем это так:
C++
1
2
int Length = ListBox1->Items->Strings[0].Length();
ListBox1->Items->Strings[0] = ListBox1->Items->Strings[0].Delete(Length-3,4);
1
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
13.11.2010, 23:44  [ТС]
Даже так...спасибо я даже не подумал смотреть на это с такой стороны...))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2010, 23:44

Создание и удаление при взаимодействии с динамически созданными объектами
Добрый день. У меня на форме PageControl с динамически создающимися страницами, на каждой странице создаются несколько компонентов в том...

Работа с динамически созданной формой
На Form2 расположены TabControl1 и Button1. При нажатии на Button1 динамически создается форма с компонентами(Button и Edit). При...

Работа с динамически созданным Image
Всем доброго дня. У меня никак не получается работать с динамически созданным Image. Создаю его следующим образом : void __fastcall...

Работа с большим количеством динамически созданных компонентов.
На форме динамически создается GroupBox, а на нём множество других компонентов (GroupBox выбран исключительно из-за того, что визуально...

Работа с динамически созданными объектами
День добрый. С Новым годом всех! Интересует следующее: 1. На первой форме кнопка, по нажатию на которой открывается 2 форма)) На...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru