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

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

27.10.2010, 23:07. Показов 5067. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru