Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 11:04   #1
Domanoff
Форумчанин
 
Регистрация: 05.03.2010
Сообщений: 125
По умолчанию легкая проблемка

пытаюсь присвоить значение компонента открываемой формы значению такого же компонента формы из которой открывается ЭТА ФОРМА, не ПОЛУЧаЕТСЯ
Код:
    procedure TForm4.FormCreate(Sender: TObject);
begin
        form4.DateTimePicker1.Date:=form3.DateTimePicker1.Date;
end;
подскажите как нужно....
пожалейте новичка
Domanoff вне форума Ответить с цитированием
Старый 20.04.2010, 11:31   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm4.FormShow(Sender: TObject);
begin
        form4.DateTimePicker1.Date:=form3.DateTimePicker1.Date;
end;
SERG1980 вне форума Ответить с цитированием
Старый 20.04.2010, 18:10   #3
Domanoff
Форумчанин
 
Регистрация: 05.03.2010
Сообщений: 125
По умолчанию

все равно не выводит то что в предыдущей , может там свойство какое то другое?
пожалейте новичка
Domanoff вне форума Ответить с цитированием
Старый 21.04.2010, 02:49   #4
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

в Unit4 должен стоять оператор Uses Unit3; после implementation, это если вы юниты не переименовывали, если переименовывали, то смысл остается тем же. На счет вашего примера:
Код:
procedure TForm4.FormCreate(Sender: TObject);
begin
  form4.DateTimePicker1.Date:=form3.DateTimePicker1.Date;
end;
вы пытаетесь получить данные при создании форм, а это не правильно в ряде причин. SERG1980, вам правильно подсказал, так как оператор OnShow для формы вызывается в момент когда уже все формы созданы и загружены в память. Соответственно в этой процедуре можно работать уже со всеми параметрами всех форм, если конечно они связаны.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 21.04.2010, 09:15   #5
Domanoff
Форумчанин
 
Регистрация: 05.03.2010
Сообщений: 125
По умолчанию

Цитата:
Сообщение от Sanprof Посмотреть сообщение
в Unit4 должен стоять оператор Uses Unit3; после implementation, это если вы юниты не переименовывали, если переименовывали, то смысл остается тем же. На счет вашего примера:
Код:
procedure TForm4.FormCreate(Sender: TObject);
begin
  form4.DateTimePicker1.Date:=form3.DateTimePicker1.Date;
end;
вы пытаетесь получить данные при создании форм, а это не правильно в ряде причин. SERG1980, вам правильно подсказал, так как оператор OnShow для формы вызывается в момент когда уже все формы созданы и загружены в память. Соответственно в этой процедуре можно работать уже со всеми параметрами всех форм, если конечно они связаны.
да есть все uses иначе ошибку выдавало что не найдет form3. но и так как подсказал SERG1980 тож не выходит почему то...
пожалейте новичка
Domanoff вне форума Ответить с цитированием
Старый 21.04.2010, 12:44   #6
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

у меня все работает: бросаю на обе формы DateTimePicker-ы во второй ставлю произвольную дату в первый сегодняшнюю, связываю формы не вручную, а командой File | Use Unit. В операторе OnShow прописываю form2.DateTimePicker1.Date:=form1.D ateTimePicker1.Date; все работает.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 21.04.2010, 13:09   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Тогда выкладывайте ваш проект, посмотрим поправим
SERG1980 вне форума Ответить с цитированием
Старый 21.04.2010, 15:06   #8
Domanoff
Форумчанин
 
Регистрация: 05.03.2010
Сообщений: 125
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Тогда выкладывайте ваш проект, посмотрим поправим
вот оно увидете на формах, за одно можете посмотреть почему не выводится то что в procedure TForm1.FormCreate(Sender: TObject);, просто похожая проблемка по моему(через кнопку все работает)
Вложения
Тип файла: rar Новая папка.rar (379.2 Кб, 11 просмотров)
пожалейте новичка
Domanoff вне форума Ответить с цитированием
Старый 21.04.2010, 15:18   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Ну понятно. Саму строчку присвоения даты в самом коде я нашёл, а вот в инспекторе объектов формы я этого события не наблюдаю. просто дважды кликните по событию OnCreate формы 4 а лучше скопируйте ту же строку с событие OnShow. Скомпилить ваш проект не могу ругается на компоненты InterBase
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Легкая задачка на паскале! Naruto63 Помощь студентам 8 21.11.2009 23:01
Легкая задачка в C# OnlySergio Помощь студентам 5 21.11.2009 15:02
Легкая программа. Maxs Фриланс 4 02.11.2009 10:25
легкая задача vAdiM_Kubski Паскаль, Turbo Pascal, PascalABC.NET 2 25.09.2009 22:49
Легкая задачка Васька Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2008 14:55