Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 5

Компонент на несколько форм

23.05.2013, 02:57. Показов 1002. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим есть класс и метод соответственно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class ViewingTables{
    public:
            String table;
            ViewingTables();
            void theTableView();
};
 
void ViewingTables::theTableView(){
                Form1->IBDataSet1->Close();
                Form1->IBDataSet1->SelectSQL->Clear();
                Form1->IBDataSet1->SelectSQL->Add("SELECT * FROM TABLE");
                Form1->IBDataSet1->Open();
};
Я могу его использовать только на 1й форме, т.к. перед IBDataSet1 нужно указывать текущую форму(Form1->IBDataSet1). Мне нужно сделать так, чтобы я мог подключить этот класс к любой форме на которой есть компонент IBDataSet1 и вызвать метод. Возможно ли как-нибудь обойти указание формы перед компонентом в методе?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2013, 02:57
Ответы с готовыми решениями:

Несколько форм в приложении
Как создать несколько форм в приложении? Создаю новое приложение,потом File-New-Form, открывается новая форма. В Unit1.cpp пишу: ...

Несколько форм в одном проекте
мне нужно создать две формы причем вторая вызывается по нажатию кнопки и еще там нужно передать объект моего класса...как это сделать?

Глобальные переменные на несколько форм
Пишу в билдере 2009. Такая проблема. Не получается создать глобальные переменные, чтобы они были доступны в нескольких формах, допустим в...

5
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.05.2013, 03:12
использовать параметры? параметр
C++
1
2
3
void ViewingTables::theTableView(TForm1 *SomeForm,TIBDataSet *SomeIBDataSet){
  SomeForm->SomeIBDataSet->Close();
...
, а конкретную форму указывайте при вызове функции
C++
1
theTableView(Form1,IBDataSet1)
как-то-так. хотя, зачем там указывать форму вообще.
1
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 5
23.05.2013, 03:48  [ТС]
Если не указывать форму

[BCC32 Error] Flight.cpp(20): E2451 Undefined symbol 'IBDataSet1'


C++
1
2
void ViewingTables::theTableView(TForm1 *SomeForm,TIBDataSet *SomeIBDataSet){
  SomeForm->SomeIBDataSet->Close();
Вот здесь разве уже нет привязки(TForm1)? Вроде в таком случае я смогу передавать только формы порожденные от TForm1? Или я ошибаюсь?
А мне нужно работать с любой формой.
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
23.05.2013, 05:44
тогда уже просто
C++
1
2
void ViewingTables::theTableView(TIBDataSet *SomeIBDataSet){
SomeIBDataSet->Close();
так привязки к форме нет, а вызывать конкретно
C++
1
theTableView(Form1->IBDataSet1);
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.05.2013, 05:46
издержки копипейста в два часа ночи , конечно
C++
1
TForm *SomeForm
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
23.05.2013, 06:04
Цитата Сообщение от LK Посмотреть сообщение
TForm *SomeForm
не прокатит, ибо у TForm нет SomeIBDataSet
можно попробовать
C++
1
2
3
4
5
class TFormEx : public TForm
{
public:
TSomeIBDataSet *SomeIBDataSet;
}
и все формы наследовать от этого класса.

C++
1
2
void ViewingTables::theTableView(TFormEx *SomeForm){
SomeForm->SomeIBDataSet->Close();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2013, 06:04
Помогаю со студенческими работами здесь

Сохранить несколько форм тестов в один exe
Привет! Вот я задался вопросом - как сделать компилятор самому? Я создал не большую программку на с++, где можно создавать несколько...

Как быстро перемещать несколько окон (форм) одновременно?
Приложение образует несколько окон (не меньше 20), в которых что-то происходит. Как перемещать все эти окна одновременно также быстро,...

Компонент для дизайнера форм
вопрос на 356 строке. EnableExplicit #LVM_SUBITEMHITTEST = #LVM_FIRST + 57 #LVM_GETSUBITEMRECT = #LVM_FIRST + 56 Global...

Компонент - панель задач для форм
Привет всем, подскажите пожалуйста, как мне сделать некое подобие панели задач Window для форм в Delphi. Т.е. есть главная форма, есть...

Несколько форм
Есть форма с картинкой Image и кнопками (названия разделов). Как сделать следующее: чтобы при нажатии кнопок осуществлялся переход на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru