Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать значение переменых из одной формы в другу 
V
    Опции темы
Tror
Дата 23.3.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



Простите за глупый вопрос, но у меня возникла следующая проблема:
из главной формы откываю дочернюю, а в дочерней мне надо получить
доступ к зачению поля Tedit1, которое находится на главной форме
Заранее благодарен.
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
bems
Дата 23.3.2006, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



MainFormName.Edit1.text


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Tror
Дата 23.3.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



именно так у меня и сделано, но почему-то не выходит smile
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
bems
Дата 23.3.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



покажи код. если есть - сообщение об ошибке smile


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Tror
Дата 23.3.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



Вот код из основной формы
Код

procedure TFrmNewClient.BtAddPhoneClick(Sender: TObject);
begin
    if (EdContrNum.Text = '') or (EdClientName.Text = '') then
        FrmFindClient.ShowModal
    else
        FrmNewPhone.ShowModal;
end;


вот что я делаю во второй форме FrmNewPhone
Код

procedure TFrmNewPhone.FormCreate(Sender: TObject);
begin
        FrmNewPhone.Caption := FrmNewClient.EdContrNum.Text;
end;

--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
bems
Дата 23.3.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



а в момент создания TFrmNewPhone в едите уже есть то что надо?
FrmNewPhone.ShowModal это хорошо, но номер телефона в капшн ты шишешь прои создании, а не показе формы...
Добавлено @ 19:04
и что на самом деле происходит? заголовок остается, а сообщений об ошибках нет?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Tror
Дата 23.3.2006, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



никаких сообщений об ошибках не выдается.
для проверки я создал кнопку на второй форме
в обработчик которой кинул
Код

FrmNewPhone.Caption := FrmNewClient.EdContrNum.Text;

и все нормально отображает.
тогда я попробовал так
Код

procedure TFrmNewPhone.FormActivate(Sender: TObject);
begin
    FrmNewPhone.Caption := FrmNewClient.EdContrNum.Text;
end;

т.е. при аквитвации формы. тоже все нормально.
ну и напоследок я решил добить это все еще одним экспериментом
создал новое приложение из 2-х форм. на первой из них
кнопка
Код

Form2.ShowModal;

а во второй форме в обработчике OnCreate написал
Код

Form2.Caption := Form1.Button.Caption;

и все замечательно работает

ну и в чем тогда загвоздка с моим приложением хочется спросить
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
Gorets
Дата 23.3.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 30.5.2005

Репутация: нет
Всего: нет



попробуй обрабатывать во второй форме событие OnShow а не OnCreate
PM MAIL WWW ICQ   Вверх
Tror
Дата 24.3.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



Gorets, ты меня конечно прости, но ты по моему не прочитал моего
предыдущего поста. Я же говорю, что создал тестовое приложение в котором
все работает в OnCreate. вот и возникает вопрос: почему в моем приложении
не работает такая же конструкция smile
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
bems
Дата 24.3.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Tror @ 23.3.2006, 19:20 Найти цитируемый пост)
а во второй форме в обработчике OnCreate написал

код Pascal/Delphi
1:

Form2.Caption := Form1.Button.Caption;





и все замечательно работает

ну и в чем тогда загвоздка с моим приложением хочется спросить


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

А в коде по которому проблема, сначала (при создании дополнительной формы) ты пишешь в ее заголовок текст эдита, в котором еще не введено то что тебе надо, потом меняется текст в эдите, а потом отображается доп. форма (со старым содержимым эдита в заголовке).

Так что попробуй менять заголовок в OnShow

Или как вариант оставь как было но форму создавай не автоматом при старте программы, а ручками перед показом. Тоесть для каждого ShowModal создавай свой єкземпляр формы, а после закрытия уничтожай. Но это если действительно тебе так лучше, 10 раз подумай.

Первый вариант (OnShow) попроще будет...


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Tror
Дата 24.3.2006, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: нет
Всего: 4



Спасибо всем.
Думаю, с данным вопросом можно закругляться smile
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0699 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.