как подключить дочернюю Form2 к основной Form1

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

как подключить дочернюю Form2 к основной Form1

Сообщение Andrey » 21.09.2012 00:08:33

Здравствуйте.
На главной Форме есть кнопка, при нажатии которой должна появлятся Form2.

Код: Выделить всё
procedure TForm1.SpeedButton24Click(Sender: TObject);
begin
Form2.Show;
end;


Создал форму 2. Но при компиляции компилятор останавливается на
Код: Выделить всё
Form2.Show;
и выдаётся ошибка Identifier not found "Form2"
Потом в начале формы 1 под
Код: Выделить всё
implementation
записал
Код: Выделить всё
uses Form_2;
(так записано в коде Delphi, который я в ручную меняю на код Lazarus).
Теперь при компиляции выдаётся ошибка
unit1.pas(0,0) Fatal: Can not find unit Form_2 used by Unit1.

Как пишет Флёнов в Библии Delphi (3-e издание) на 166 стр.
"Чтобы MainUnit смог увидеть форму в About unit нужно её подключить.
Для этого перейдите в модуль Main unit и из меню File выберите пункт Use Unit."

Ну вот я в Lazarus в редакторе исходного кода выбрал Unit1
Потом нажимаю меню файл, а там нет пункта Use Unit.
Это естественно потому что Lazarus немного отличается от Delphi.

В общем прошу подсказать как решить этот вопрос.

Win7 x64 Lazarus 1.0
Последний раз редактировалось Andrey 21.09.2012 00:48:04, всего редактировалось 1 раз.
Andrey
новенький
 
Сообщения: 13
Зарегистрирован: 13.09.2012 22:54:48

Re: как подключить дочернюю Form2 к основной Form1

Сообщение B4rr4cuda » 21.09.2012 00:21:34

Скорее всего не form_2, а uses Unit2.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: как подключить дочернюю Form2 к основной Form1

Сообщение Ichthyander » 21.09.2012 00:26:34

записал
Код: Выделить всё
uses Form_2;

unit1.pas(0,0) Fatal: Can not find unit Form_2 used by Unit1.

Можно попробовать поугадывать, конечно. К примеру,
Код: Выделить всё
uses  Unit2;

Но проще Вам сказать в каком модуле (файл .pas) хранится форма Form2.
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 699
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: как подключить дочернюю Form2 к основной Form1

Сообщение Andrey » 21.09.2012 00:46:25

Да, вы правы. Записал
Код: Выделить всё
uses  Unit2;

-сработало.
А если не в ручную это писать, то в каком пункте меню в Lazarus можно это сделать ?
Типа как в Delphi:
"Чтобы MainUnit смог увидеть форму в About unit нужно её подключить.
Для этого перейдите в модуль Main unit и из меню File выберите пункт Use Unit."
Andrey
новенький
 
Сообщения: 13
Зарегистрирован: 13.09.2012 22:54:48

Re: как подключить дочернюю Form2 к основной Form1

Сообщение amateur » 21.09.2012 09:54:15

:(
вообщет, по умолчанию, лазарь сам добавляет форму в проект (если, конечно, Вы не убрали флаг в параметрах проекта).
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: как подключить дочернюю Form2 к основной Form1

Сообщение Ichthyander » 21.09.2012 10:46:39

-сработало.
А если не в ручную это писать, то в каком пункте меню в Lazarus можно это сделать ?

Это нужно делать именно вручную и, насколько помню, также как и в Delphi. Автоматом модуль и путь к нему добавляется только в проект.
А видимость (то есть возможность использования глобальных компонентов, классов, переменных, функций и т.д.) модуля unit2 в другом модуле unit1 делает строчка в коде "uses Unit2". То есть модуль в проекте уже был, но для использование его в другом модуле нужно было сообщить об этом Lazarus'у с помощью uses.
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 699
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 222

Рейтинг@Mail.ru