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

Как обратиться к другой форме?

11.09.2012, 22:43. Показов 4946. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть формы, одна из них главная, когда к главной подключаю вторую(#include "UNIT2.cpp"), все компилируется, но как только пытаюсь изменить какой-либо компонент во второй форме, через Form2->label1->Caption="lalala"; выдает ошибку что адрес не верный, то есть при компиляции все норм, а при работе проги, когда нажимаю кнопку изменить данные в другой форме дает ошибку. А когда наоборот пытаюсь ко второй форме (#include "UNIT1.cpp") подключить главную, вообще билдер выдает ошибки и зависает пока не вырубишь его через процессы, ну ясно что не работает в общем(
Кто знает почему не работает подключение других форм, или как правильно к ним адрес писать?
И мне надо бы вообще главную подключать к другим, что бы при открытии например формы 2 сделать первую форму невидимой. И как можно определить что форма открыта или нет, то есть сделать например так: у меня должно открываться 2 видемые формы+1 главная сразу не видимая, что бы при ее закрытии не закрывались и другие формы. И эта главная форма должна определять открыты ли другие форма, если пользователь закрыл обе видимые формы, то завершаем программу.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2012, 22:43
Ответы с готовыми решениями:

Как обратиться к переменной из другой формы?
Как обратиться к переменной из другой формы? Например, в Form1 есть переменная x, как ее использовать в Form2?

Одна кнопка по нажатию присваивало имя другой кнопке на другой форме
Есть две формы: MainForm и TestForm, нужно сделать так, чтобы при нажатии на кнопку на форме MainForm, "Captoin" этой копки...

Как написанную функцию на одной форме ипользовать в другой
Всем доброго времени суток. Имеется функция void Add(void). Прописал её прототип в formRegNewEvent.cpp, а так-же в formRegNewEvent.h,...

7
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
11.09.2012, 22:46
klynxe, в первой форме в срр (#include "Form2.h") во второй форме в cpp (#include "Form1.h")
0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
11.09.2012, 23:17  [ТС]
Пишет [C++ Error] Unit1.cpp(10): E2209 Unable to open include file 'Form2.h'

Добавлено через 7 минут
А все, только не form2.h а Unit2.h

Добавлено через 2 минуты
Только теперь проблемка в том, что если я подключаю 1-ый ко второму, а 2-ой к первому, то компилятор зацикливается...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
11.09.2012, 23:45
Если в обоих h-файлах стоят "охранники" вида:
C++
1
2
3
4
5
6
#ifndef Unit1H // Unit2H
#define Unit1H // Unit2H
 
// ...
 
#endif
, то ничего не зацикливается.
0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
12.09.2012, 00:30  [ТС]
#ifndef Unit1CPP //для Unit1.cpp
#define Unit1CPP
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "dstring.h"
#include <string>
#include "Unit1.h"
#include "Unit2.cpp"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
..............


#ifndef Unit2CPP //для Unit2.cpp
#define Unit2CPP
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "dstring.h"
#include <string>
#include "Unit2.h"
#include "Unit1.cpp"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
...........................


Главная форма 1 может изменять элементы формы 2, 2-ая форма не дает менять пишет Access violation at address 0000988B. Read of address 0000988B.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
12.09.2012, 01:01
Ты чего творишь? Я написал про HEADER-файлы, а не про CPP.

Кто include-ит CPP-файлы вообще? Они к проекту добавляются, а не включаются один в другой.
1
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
12.09.2012, 17:15  [ТС]
Если инклюдю только h файлы без cpp, то вообще билдер выдает ошибку и зависает.
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
13.09.2012, 10:57
Вообще,там есть кнопочка,связать другие формый с этой (не помню,точно как называется) )
на каждой форме,нужно выполнить эти действия,для взаимосвязи
ну можно и не делать впринципе,если тебе не нужно будет стучаться с 9 формы на 2 например
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.09.2012, 10:57
Помогаю со студенческими работами здесь

Как создать на форме батн или другой обьект?
Хелло ворлд!!! Ребята как с кода создать обиект? т.е если нажато на Button1 то создать на пример едит или другой батн на форме...

Обратиться из одной формы к элементам другой
Можно ли по кнопке Button1, находящейся на форме 2, изменить свойство Caption метки Label1, расположенной на форме 1? Обе формы - члены...

TChart на другой форме
Как показывать TChart на другой форме. Что б не строить по новой а просто отобразить содержимое. Что б при двойном нажатии на TChart1...

Передача сообщения другой форме.
Как передать из одной формы другой сообщение, чтобы вторая например свернулась. Или появилась по определенным координатам!

Доступ к переменной на другой форме
Добрый день, проблема в следующем. Я создаю экземпляр класса на одной форме #pragma package(smart_init) #pragma resource...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru