|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
пробовал клонировать - но класс-родитель не сериализуем. отсюда вопрос: Код: c# 1.
далее Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Нажимаем кнопку - выполняется обработчик - открывается форма Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
закрываем форму. нажимаем снова и попадаем на эксепшен. доступ к уничтоженному объекту ... Как (выделено оранжевым) передать не ссылку на объект - а создать новый ? Никак понять не могу. Уточнение: при первом нажатии - все ок - при повторном - эксепшен В случае если форма вызывается как модальное окно - ее закрытие можно контролировать. В остальных случаях всем рулит оконный менеджер и он принудительно вызывает dispose объекта. А поскольку ссылка на него - вот эксепшен и вылазит. Вернемся с чего начали - как же создать новый? Единственно что приходит на ум - вывести конструктор класса формы в паблик... Но тогда встает другой вопрос - если форм много то как указать какой именно использовать конструктор в хендлере нажатия на кнопку? может в конструкции (выделено красным) есть возможность передать не ссылку на объект (когда он только создаться успел??) а указатель на класс? мозг уже наизнанку выверну. чую - истина где-то рядом... помогите кто чем может )) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 08:12 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
В VB.Net регистр не учитывается? Просто создаете Dim f orm As Form = mf.Form, а обращаетесь к F orm.MdiParent = Me Но это так, мелочи. mf.Form уничтожается, я так понимаю, проблема в этом. Не вижу весь код, смотрите, что с mf.Form происходит, есть ли возможность не убивать объект. Form form = new Form() не устраивает? Например, можно передавать все необходимые сво-ва из mf.Form: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 12:11 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
Супер_Пав, передавать все необходимы свойства нереально. Через нею я пробовал = все равно после присваивания Form = mf.Form - Form перестает быть отдельным объектом а представляет ссылку на mf.Form. Почему при закрытии Form происходит уничтожение mf.Form - загадка... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 09:26 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
ughunter, зачем её закрывать? нельзя просто скрыть? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 09:29 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
Roman Mejtes, можно скрыть - если она отображена как модальное окно. Тогда просто при новом открытии все элементы программно кинуть в дефолт (это решаемо), но если она открыта менеджером модальных форм - он убивает всех своих потомков при закрытии. И это никак не переопределить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 09:40 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
блин не то написал... менеджером MDI конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 09:41 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
ughunter, создайте модель представления, а форма будет только презентером этой модели. Вы легко сможете контролировать то, как и когда существует ваша модель. А окно будет лишь отображать её на экране. Тогда вы перестанете зависеть от окна. Когда надо открыть окно, вы просто будете создавать окно и передавать ему модель представления. После того как модель закрыли презентор будет удален менеджером, а модель представления останется, когда надо открыть снова, вы просто создаете окно еще раз и снова передаете туда модель. Профит. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 10:40 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
Roman Mejtes, и как это будет выглядеть на практике? Можно примерчик? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 11:29 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
ughunter, я не силён в WF, как связывание в нём работает я не знаю. почитай про шаблоны программирования ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 14:50 |
|
не создается новый объект - а передается ссылка на уже созданный объект.
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 17:14 |
|
|
start [/forum/topic.php?fid=20&msg=38881561&tid=1401898]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
149ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 254ms |
0 / 0 |