|
|
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Суть проблемы вот в чем. Есть риложение, основное окно с меню. Из этого основного окна по выбору пункта меню "Open..." открывается обычное окно (не модальное!). По выбору пункта меню "Exit" основного окна оно закрывается. При этом закрывается также и открытое ранее обычное окно. А через некоторое время выскакивает системное сообщение типа "<Application name> has encountered errors and needs to be closed". Если же перед выходом из приложения обычное окно закрыть, ошибки не возникает. При закрытии обычного окна отрабатывает его событие unload. При закрытии основного окна, при оставленном открытым обычном, это событие не отрабатывает. Вопрос - как запустить событие Unload для обычного окна из кода основного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 18:08 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 19:05 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Nickz Как закрыть форму, я знаю - вопрос в том, как до нее добраться. Если я использую коллекцию Forms в соде основной формы, я получаю из нее только эту основную форму. Обычная же открытая форма не видна. И наоборот, если я использую эту коллекцию в коде обычной формы - основная форма в ней отсутствует. Буду рад, уважаемые гуру, если кто объяснит этот парадокс ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2007, 12:22 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2007, 16:34 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
а я вот что-то ничего не понял из постановки вопроса. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2007, 23:39 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Весь парадокс у тебя в программе. Очень мало инфы. Главная, MDI, что-ли. Если нет, то другие формы сами при закрытии первой не закроются. Тебе надо Unload в тех формах, там какие-то действия выполняешь со ссылкой на другие формы, так разберись. И что за бред с коллекцией Forms, с чего ты взял, что ничего там не видишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2007, 04:16 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
blinow Конечно, мы говорим об MDI. При закрытии главной формы, конечно же закрывается и обычная, но не выгружается приложение, т.к. событите unload для обычной формы при этом не выполняется. Вот я и хочу выгрузить эту форму в коде выгрузки основной. Однако из этого кода она не доступна (в коллекции forms содержится только главная форма, frmMain). Может границы видимости forms лежат в пределах одной dll (главная и обычная формы находятся в разных dll)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2007, 11:55 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Абросов Юрий...главная и обычная формы находятся в разных dll... так вот с этого собственно и надо было начинать код в студию (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2007, 13:31 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
Nikz Да тут кода-то всего ничего. Скажем так, вот фрагмент одного класса из Lib1.dll: . . . . . . . . . . . . . . . . . . . . . . . . . Case ID_FILE_EXIT ' close application <здесь предполагается получить доступ к открытой форме frm2 из библиотеки Lib2.dll с помощью коллекции Forms> Unload frm2 Unload frmMain Exit Sub . . . . . . . . . . . . . . . . . . . . . . . . . frmMain входит в состав библиотеки Lib1.dll. Связь между библиотеками следующая: Lib1 ссылается на Lib2 (Lib2 стоит в референсах Lib1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2007, 16:19 |
|
||
|
Джентльмены и леди, как из основного окна приложения добраться к другому открытому окну
|
|||
|---|---|---|---|
|
#18+
не, имелось в виду код загрузки формы lib2 из lib1. через forms действительно не получится обратиться к этой форме, но пришел в голову такой вариант: сделать в lib2.dll функцию такого вида Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2007, 19:01 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34352139&tid=2164418]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 440ms |

| 0 / 0 |
