С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
1

Вызвать из формы1 ещё две формы2

12.11.2015, 16:57. Показов 1058. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть две формы и нужно вызвать вторую форму 2 раза.
0
Лучшие ответы (1)
IT_Exp
Эксперт
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
Блог
12.11.2015, 16:57
Ответы с готовыми решениями:

Поменять заголовок формы2 из формы1
Из первой формы обращаюсь к функции которая прописана во второй. Form3 myClass = new Form3();...

Создание формы2 по нажатию на кнопку формы1
Много тем по этому поводу, для себя не извлёк ничего. Помогите подробнее разобраться в этом, в этой...

Скопировать ListBox2 Формы2 в ListBox1 формы1
Такой вопрос я провожу некоторые операции в форме2 с ListBox2 после этого я её закрываю и хочу...

Как запустить из формы1 всплывающую форму2, которая ищет данные по активному полю формы1?
Помогите ! Как запустить из формы1 всплывающую форму2, которая ищет данные по активному полю формы1...

14
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.11.2015, 17:23 2
Тут помоему без третьей формы не обойтись
0
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
12.11.2015, 17:25  [ТС] 3
Sasha, жалко.... На шарпе проходило такое...
0
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
13.11.2015, 12:05 4
Цитата Сообщение от Sasha Посмотреть сообщение
Тут помоему без третьей формы не обойтись
Почему не обойтись?
C++
1
2
3
4
5
    TForm2 *f2_1, *f2_2;
    f2_1 = new TForm2(this);
    f2_2 = new TForm2(this);
    f2_1->Show();
    f2_2->Show();
Форма - это класс, экземпляры которого можно создавать в нужном нам количестве и делать с каждым из них можем что хотим. Можно и показать их одновременно.
0
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
13.11.2015, 12:09 5
Лучший ответ Сообщение было отмечено ivan r как решение

Решение

Почему? Если форма2 не Auto-create, а Available, то вот так форма порождается n-ое число раз__
C++
1
2
3
4
5
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Application->CreateForm(__classid(TForm2), &Form2);
    Form2->Show();
}
1
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
13.11.2015, 12:56 6
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
TForm2 *f2_1, *f2_2;
* * f2_1 = new TForm2(this);
* * f2_2 = new TForm2(this);
* * f2_1->Show();
* * f2_2->Show();
Lelik-pahan, здесь необходимо будет ещё позаботиться об освобождении памяти после закрытия форм
0
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
13.11.2015, 13:05 7
Цитата Сообщение от Sasha Посмотреть сообщение
Lelik-pahan, здесь необходимо будет ещё позаботиться об освобождении памяти после закрытия форм
Разумеется (если только они не нужны в течении всего времени работы программы).
И создавать их удобнее в отдельной функции, передавая в неё указатель для обращения к данному экземпляру. Это был просто быстрый пример.
0
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
13.11.2015, 15:25  [ТС] 8
nick42, Работает)
0
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
13.11.2015, 16:24 9
Цитата Сообщение от ivan r Посмотреть сообщение
nick42, Работает)
Но это, как бы, неправильный метод. Как их (эти формы) программно закрывать, если называются одинаково?
0
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
13.11.2015, 16:28  [ТС] 10
Цитата Сообщение от nick42 Посмотреть сообщение
Как их (эти формы) программно закрывать, если называются одинаково?
Первая форма всё закрывает... Этого достаточно.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
33003 / 21306 / 8183
Регистрация: 22.10.2011
Сообщений: 36,609
Записей в блоге: 8
13.11.2015, 16:29 11
Цитата Сообщение от nick42 Посмотреть сообщение
Как их (эти формы) программно закрывать, если называются одинаково?
Screen->Forms на что?
1
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
13.11.2015, 16:32  [ТС] 12
nick42, я вот думаю
[C++ Error] Unit1.cpp(29): E2316 'Location' is not a member of 'TForm2'
Почему не является локатион членом формы2. В заголовке указывал...

Добавлено через 1 минуту
Цитата Сообщение от volvo Посмотреть сообщение
Screen->Forms на что?
Я с++ недавно изучаю, на шарпе раньше кодил.
0
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
13.11.2015, 17:21 13
Цитата Сообщение от ivan r Посмотреть сообщение
Почему не является локатион членом формы2
В каком заголовке?
Нужно объявлять в h файле второй формы, в теле класса TForm2, в секции public

Добавлено через 5 минут
Цитата Сообщение от nick42 Посмотреть сообщение
Но это, как бы, неправильный метод. Как их (эти формы) программно закрывать, если называются одинаково?
Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TForm2 *f2_1, *f2_2;
    CreateF2(f2_1);
    CreateF2(f2_2);
 
    ....
 
    f2_1->Close();
    f2_2->Close();
}
 
void TForm1::CreateF2(TForm2 *f2)
{
    Application->CreateForm(__classid(TForm2), &f2);
    f2->Show();
}
0
33 / 33 / 12
Регистрация: 18.10.2014
Сообщений: 339
13.11.2015, 17:24  [ТС] 14
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
Нужно объявлять в h файле второй формы, в теле класса TForm2, в секции public
Уже всё работает

Добавлено через 11 секунд
C++
1
#include"Unit2.h"
этого хватило.
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
14.11.2015, 00:48 15
Цитата Сообщение от Sasha Посмотреть сообщение
здесь необходимо будет ещё позаботиться об освобождении памяти после закрытия форм
Вроде не проблема. Можно назначить обработчик OnClose c Action = caFree
0
14.11.2015, 00:48
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
14.11.2015, 00:48
Помогаю со студенческими работами здесь

Сделать по нажатию на 1-ую кнопку открытие формы2 на указанной записи, а на 2-ую кнопку - формы2 на новой
Здравствуйте, возник вопрос..., не буду тянуть кота за хвост. В общем: на главной форме есть 2...

Можно ли из консольного приложения вызвать еще одну консоль через функцию?
Если да, то в каком заголовке она лежит?

Кто знает, как вызвать еще раз последнего противника в NFS Most Wanted?
Проблема такая, хотел пройти последнюю гонку с ментами (концовку), но выключил игру. Хотелось бы...

Как вызвать переопределить метод из дочернего класса так, чтобы выполнялись еще функции в родительском
У меня структура такова: Интерфейс IKey (Содержит void Open) public interface IKey { public...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru