Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
1-1128811063
none
2005-10-09 02:37
2005.10.30
ZoneAlarm


8-1117874787
wardoc
2005-06-04 12:46
2005.10.30
Как нарисовать эллипс под произвольным углом


14-1128623461
Michael5
2005-10-06 22:31
2005.10.30
Поделитесь, кто чего интересного за последнее время (а может,


2-1128514304
NightLord
2005-10-05 16:11
2005.10.30
Принтер


14-1128687708
VictorT
2005-10-07 16:21
2005.10.30
Help. Заголовки gdi+





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский