![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() День добрый.
Пишу программу с материнской и дочерними формами. (CodeGear RAD Studio Delphi 2007) Требуется чтобы дочерняя форма "Компании" могла создавать форму "Проекты" Это я сделал. Теперь требуется наоборот, форма "Проекты" должна создать форму "Компании" Проблема в том, что для создания формы требуется тип этой формы (TfrmProj). Для этого необходимо в раздел uses написать название модуля с формой. Отсюда для создания формами друг друга у них должна быть перекрестная ссылка модулей, а это запрещено (Делфи очень ругается) так я создаю формы: Код:
procedure TForm1.CreateProjForm(const childName : string); var Child: TfrmProj; begin Child := TfrmProj.Create(Application); Child.Caption := childName; Child.IDCompany:=ADOTable1.FieldValues['ID']; Child.UpdateData; end; Так как же создавать формочки друг из друга? |
#2
|
|||
|
|||
![]() указывай в uses секции implementation.
Если тебе надо хранить ссылку на создаваемую форму в теле класса, то можно использовать тип класса предка, т.е. TForm. |
#3
|
||||
|
||||
![]() т.е. вместо
var Child: TfrmProj; можно использовать var Child: TForm; ? |
#4
|
|||
|
|||
![]() Да, именно так.
Всегде можно потом обратиться как (Child As TfrmProj).что-то-там... |
#5
|
||||
|
||||
![]() Спасибо за помощь!
помогло: Код:
указывай в uses секции implementation. |