NewObject CreateObject и Load формы | |
---|---|
GreyCat Автор Сообщений: 12 Дата регистрации: 06.07.2010 |
Потребовалось мне запустить модальную форму из окна, а потом получить результаты ее (формы) работы. Раньше для этого использовал простейшее: loWind=CreateObject("win_edit_s1")
На это раз решил сделать через FormSet с использованием метода NewObject, чтобы упростить обмен данных между формами. Обнаружил интересную особенность. При создании формы с использованием CreateObject порядок загрузки ее обычный. При создании через NewObject метод Load формы пропускается. В описании метода ничего такого не обнаружил. Это действительно так или я чего-то упустил? |
Re: NewObject CreateObject и Load формы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
формсеты не нужны (были нужны когда-то для конвертации FPD программ, и только). Крайне не советую с ними связываться.
В хелпе написано Цитата:Из чего, вероятно, и проистекает такое поведение - для динамически добавляемых в формсет форм не срабатывает событие Load. Разницы между методами .AddObject() и .NewObject() при этом нет. При использовании функции Createobject() форма НЕ добавляется в формсет, а создаётся как совершенно независимая форма. То что ссылка на неё может хранится в свойстве формсета ровным счётом ни на что не влияет. ООна (ссылка) с тем же успехом может хранится в переменной, или в свойстве другого объекта - да хоть бы и какого Empty - это "хранение ссылки" НЕ является "включением объекта в состав другого объекта" - в отличие от методов .AddObject() и .NewObject() имеющихся у некоторых контейнеров, которые действительно "внутрь" помещают новый объект - в т.ч. и в его Parent прописывают ссылку на себя. ------------------ WBR, Igor |
Re: NewObject CreateObject и Load формы | |
---|---|
GreyCat Автор Сообщений: 12 Дата регистрации: 06.07.2010 |
Спасибо Игорь. Стало более понятно. Была такая мысль, что дело именно в FormSet. Отказался. Вернулся к своему обычному варианту набора независимых форм и вызов побочных окон через CreateObject. |
© 2000-2024 Fox Club  |