Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Как корректно создать несколько экземпляров формы...   Найти похожие ветки 

 
Alex_Mel   (2005-10-11 14:06) [0]

Здравствуйте.
Мне необходимо создать несколько экземпляров одной и той же формы на экране. Формы закрываются сами по таймеру (или по щелчку мышкой), но при закрытии начинают валиться ошибки доступа к памяти.
Создаю так:
frm_Tmp:=Tfrm_Tmp.Create(Application);
Frm_Tmp.Tag:=Integer(Frm_Message);
Уничтожаю:
i:=frm_Tmp.Tag;
FreeAndNil(Tfrm_Tmp(i));
Обращаюсь:
Tfrm_Tmp(frm_Tmp.Tag).Top..........


 
Eraser ©   (2005-10-11 14:11) [1]


> Alex_Mel   (11.10.05 14:06)

Создавай так
with Tfrm_Tmp.Create(Application) do
 Show;


Закрывай методом Close, в обработчике OnClose впиши
Action := caFree;


 
Alex_Mel   (2005-10-11 14:16) [2]

>Eraser ©   (11.10.05 14:11)
А как же тогда обращаться именно к этой форме в различных ее методах?
Ведь форм, допустим пять, а метод, допустим OnTimer у них у всех один. Как в нем обратиться к нужной форме?


 
Leonid Troyanovsky ©   (2005-10-11 14:22) [3]


> Alex_Mel   (11.10.05 14:16) [2]

> А как же тогда обращаться именно к этой форме в различных
> ее методах?


Единственным корректным способом обращения к самой форме
из ее методов является Self, в котором, обычно, нужды не возникает
(за исключением случаев конфликтов имен внутри блока with).

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
4-1124822100
_silver
2005-08-23 22:35
2005.10.30
Работа с COM портом, не пойму где ошибка.


14-1128953044
БарЛог
2005-10-10 18:04
2005.10.30
Телевидение через локальную сеть, как?


2-1128252504
Volf_555
2005-10-02 15:28
2005.10.30
Как в поле ввода пароля вводимый пароль отображать звёздочками?


14-1128890070
NightLord
2005-10-10 00:34
2005.10.30
Баг в WinXP Sp2


9-1118652184
@!!ex
2005-06-13 12:43
2005.10.30
OpenGL -> DirectX