![]() |
|
![]() ![]() ![]() |
|
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Есть две формы. На дочерней есть эдит и кнопка. При нажатии на кнопку текст из эдит'а нужно перенести в переменную в главной форме. Как это можно сделать? И как запустить свою функцию, которая находится в Unit1 из Unit2?
Спасибо. ЗЫ. Я уже наверное надоел... -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
EEEEEE |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Как один из вариантов. Можно вписать в дочернюю форму заголовочный главной и текст из дочерней присвоить открытой переменной главной.
Или создать глобальную переменную. Аналогично присвоить ей значение дочерней. И перебросить в главную. Но, как пишут спецы, глобальные переменные - это некрасиво как минимум с точки зрения серьёзного программирования. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Я так делал, но ничего не получилось. Может я не так делал? -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Nat |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
А написал Unit1.h в Unit2.cpp и наоборот?
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Да.
После этого пишу так: Form1-> Но в появившемся списке нет ни переменной, ни функции, которые мне нужны. Пробовал так: Form1::pth Выдаёт ошибку. Это сообщение отредактировал(а) artsb - 26.11.2007, 09:55 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
EEEEEE |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
||||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
EEEEEE спасибо, но почему-то не качается. :( Грузит как html страницу (и браузер и DownloadMaster).
Перезалей или пришли на мыло плиз. [email protected] -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
EEEEEE, спасибо, что выслал(а). Но не запускается, пишет что не найден vcl100.bpi. Но я посмотрел Unit1 и 2. У меня всё сделано также, т.е. в Unit1 добавил "Unit2.h" и наоборот. В Unit1 есть переменная AnsiString aaa. В Unit2 пишу Form1->aaa, но во всплывающем окне нет этой переменной. В чём может быть дело?
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Народ!!! Так как обратиться к переменной, которая в другом унит'е?
Это сообщение отредактировал(а) artsb - 28.11.2007, 22:01 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
orthrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: 4 Всего: 16 |
Если переменная объявлена как public, то она должна быть доступна в другом Unit`е. У тебя скорее всего переменная объявлена как private или protected и доступа к ней со внешней стороны нет. Для доступа к этой переменной необходимо сделать открытые(public) get и set методы.
-------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
|||
|
||||
mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Как было отмечено выше с переменной можно работать либо объявив ее как глобальную - либо в классе формы. С классом смотри на пост orthrus .
Глобально еще проще - в Unit1 объявляешь к примеру
в Unit2 используешь класс памяти extern
Вообще это делать не рекомендуется - типа прастранство имен - вдруг такая глобальная переменная имеет уже место быть и т.д. Но на первой нормально. Можно если много переменных - то объявить какой нибудь пользовательский тип - структуру например. А можно и в классе формы - как это делать - смотри выше - непонятно будет - радируй. ![]() |
||||
|
|||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Сделал так:
В Unit1.h в секцию pablic на писал объявление: AnsiString aaa; В Unit1.h подключил Unit2.h и наоборот. Теперь всё работает. Но может так неправильно делать? Отпишитесь плиз. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Очень даже правильно
![]() |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Тогда всем спасибо. Вопрос решён.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
secondd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 25.12.2007 Репутация: нет Всего: нет |
Вопрос по этой же теме:
Вписал переменные в Public .h первой формы, и сделал ссылку на .h первой формы во второй, но выдается ошибка, что переменная во второй форме неизвестна? Как так? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ 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. |