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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2017, 12:11   #1
Mor-Tauron
Новичок
Джуниор
 
Регистрация: 02.05.2017
Сообщений: 2
По умолчанию WindowsForms в Pascal

Можно ли процедурой с первой формы воздействовать на элементы второй формы?

Например, нажатие на кнопку1 в форме1 должно активировать процедуру на форме2, которая поменяет свойство Visible у кнопки2 на форме2 с false на true.

Пробовал
Form1:
Код:
procedure Form1.button1_Click(sender: Object; e:  EventArgs);
begin
  (new Form2).Show;
  ReInvisible;
end;
Form2:
Код:
procedure ReInvisible;
begin
  button2.visible:=true;
end;
Результат: "Ошибка времени выполнения: Ссылка на объект не указывает на экземпляр объекта."

Как в Delphy тут обратиться нельзя: Form2.button2.visible:=true; не канает. Прямо не знаю, что делать.
Mor-Tauron вне форума Ответить с цитированием
Старый 02.05.2017, 12:15   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Как в Delphy тут обратиться нельзя: Form2.button2.visible:=true; не канает.
Можно, если как в Delphi записать ее в переменную, а не в воздухе повесить.
Код:
form2 = new Form2;
form2.Show();
form2.dddsfds
p51x вне форума Ответить с цитированием
Старый 02.05.2017, 12:50   #3
Mor-Tauron
Новичок
Джуниор
 
Регистрация: 02.05.2017
Сообщений: 2
По умолчанию

Я не совсем понимаю, куда пихать form2 = new Form2;
Если прямо в процедуру, то он пишет, что встретил "=", а ожидал ";"
Если в раздел type в interface, то "=" вместо ":"

Создал переменную F2 в разделе implementation, присвоил ей тип Form2, написал "F2.Button2.Visible:=true", скомпилировал, но программа вылетает с той же ошибкой, что и до этого.
Mor-Tauron вне форума Ответить с цитированием
Старый 02.05.2017, 13:27   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

может быть, я чего-то не понимаю, но разве F2 (Form2) не нужно предварительно создать (например, на событии создания Form1 onCreate )?
Код:
F2 := TForm2.Create(Self);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно включать заголовки в WindowsForms? Alsou93 Windows Forms 0 27.04.2014 11:10
Карты в WindowsForms AnDrOiD73 Windows Forms 1 24.09.2013 19:33
С#/WindowsForms. Поиск документа по слову elena111 Помощь студентам 24 01.05.2013 00:25
c++/clr windowsforms Программа виснет при OpenFileDialog revaldo666 Windows Forms 1 19.07.2012 12:38