![]() |
|
![]() ![]() ![]() |
|
php5 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Имеется многооконное приложение для роботы с БД при клике по кнопке открывается окно в которое загружаются данные из БД, так вот необходимо как то пере появлением содержания окна предать id для выборки из базы данных, с учетом того что таких окон одновременно может быть открыто большое количество
|
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Окно создается на базе класса ? Может конструктор с параметрами замутить?
|
|||
|
||||
orthrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: 4 Всего: 16 |
Как окно создаешь?
-------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
|||
|
||||
php5 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Окно создается классически
Application->CreateForm(__classid(TForm1), &Form1); Form1->Show(); |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Когда мне надо было что-то подобное, то я делал класс, и в этом классе создавал окно динамически и прописывал весь функционал. Естественно, в конструктор мог передать любые параметры.
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Vyacheslav |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Убираете окно из списка автосоздаваемых и создаете через new. В конструктор своей формы добавляете нужны параметр. Если нужно добавить только один параметр и этот параметр int, то параметры следует поменять местами, иначе получится, что Вы "перегрузили" служебный конструктор TForm(Component *Owner, int)
Вызов формы в коде
PS Чтобы не заморачиваться с удалением формы по закрытию, не забыть установить для формы в обработчике OnClose.
В этом случае она форма будет удаляться автоматически при ее закрытии. Надеюсь, ничего не напутал. На билдере уже 4 года не работаю -------------------- С уважением, Вячеслав Ермолаев |
||||||||
|
|||||||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Всем добрый день! Решил написать здесь, так как темы взаимосвязаны.
У меня вопрос в сл. Как передать параметр в форму с нами поделился многоуважаемый Vyacheslav. Но вот как забрать из этой формы какой нибудь параметр, int, char, AnsiString и вернуть этот параметр в то место откуда он был вызван? Заранее спасибо. На данный момент, я просто создал переменную extern и пробрасываю через неё. Но может есть более правильное и рациональное решение данной проблемы? Это сообщение отредактировал(а) vikaz - 19.4.2009, 18:48 -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я передаю вместе с параметрами адрес структуры, в которую форма мне все что нужно пишет. |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Anikmar спасибо большое за подсказку, не сообразил.
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Лапоть |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 3.4.2009 Репутация: 1 Всего: 2 |
||||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Anikmar, Лапоть
![]() Просто у меня вот в чем возникла проблема. Я могу вернуть параметр или структуру, но это только когда какая-то операция делается в конструкторе. А если мне нужно вернуть параметры, когда я уже сделал какие-то действия на форме, вот так у меня возвращаются пустые значения и это понятно. Вот как это победить? Заранее спасибо! -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
То бишь если продолжить мысль камрада - юзай переменные описанные в классе используемой формы. |
||||
|
|||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Понятно, все гениальное в ......
Все спасибо! -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
artsb |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Объявляете в .h файле второй формы структуру, создаёте на неё указатель в закрытой области класса. Также как вам советовали, передаёте в конструкторе указатель на структуру, которую нужно заполнить и присваиваете этот указатель указателю второй формы. В общем, что-то типа: Unit2.h
Unit2.cpp
Unit1.cpp
Естественно, нужно делать кучу проверок, но я не стал их писать. ![]() Это сообщение отредактировал(а) artsb - 20.4.2009, 12:59 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||||
|
|||||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
artsb, спасибо огромное!!!
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |