|
|
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
У меня одна формочка должна записывать в поля другой формы, если та в свою очередь открыта... А если вторая форма не открыта, попытка сделать это естественно вызывает ошибку. Как узнать, открыта форма или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 10:17 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 10:38 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
волт один из вариантов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 10:39 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Из раздела простых решений: заведи таблицу с переменными и в завизимости открываш или закрываш эту форму меняй переменную, а в коде обращайся к значению этой переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 10:54 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Ни фига себе простое решение... Оно такое же простое, как я маленький трямвайчик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 12:22 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
не пойму чего сдесь сложного? таблица и две функции в пять - шесть строк и все! А если придется определять еще и режим открытия формы (наприм. редакция или новый документ)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 15:18 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
а так: Function fIsLoaded(fName$) As Boolean On Error Resume Next fIsLoaded = (Forms(fName).Name <> "") End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 15:26 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
2 Guest: А это шаг назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 15:29 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч ну так подумалось, что тут проще надо быть, ибо спросили - КАК ПОНЯТЬ, открыта ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 15:37 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
авторне пойму чего сдесь сложного? таблица и две функции в пять - шесть строк и все! А если придется определять еще и режим открытия формы (наприм. редакция или новый документ)? Сложность в том, что нужно вручную повторять то, что аксес делает автоматически. Вариант, который дал Sfagnum (этот вариант кстати указан и у Гетца) прост тем, что считывает существующее свойство из существующей коллекции. В твоем варианте нужно: - сделать таблицу (при наличии системы защиты, дать права пользователям) - написать функцию(ии) - делать запись/считывание значений в таблицу (что при сетевой версии является лишним и никому не нужным траффиком). В варианте, который предложил Sfagnum нужно только одно - написать функцию. Так какой вариант проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 15:43 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Я бы еще добавил, что нужно закладываться на всякие глюки, в результате которых значение в таблицу может просто не записаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 16:00 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Чем плох вариант Guest'а ? Function fIsLoaded(fName$) As Boolean On Error Resume Next fIsLoaded = (Forms(fName).Name <> "") End Function С API - круче, быстрее? Почему "шаг назад" ? Любопытно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 17:59 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Вариант Sfagnum'а предусматривает проверку, в каком режиме открыта форма. Если открыта в конструкторе, то будет возвращено False. Вариант Guest'а такую проверку не предусматривает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:03 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Спасибо. Теперь исправлю свою IsLoaded :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:10 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
вариант guest'a не сработает, если открыто несколько экземпляров формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:40 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Наверно, это касается любого варианта, который проверяет по названию формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 18:58 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
авторС API - круче, быстрее? Что подразумевается под API? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 20:16 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
>>incold я не спорю, что выше описанные решения проще. в защиту таблицы могу сказать: - таблица храниться в файле юзера, а не на файловом сервере так что на трафик - пофиг. - в ней можно (и нужно) хранить не только данные об открытых формах (причем не всех формах, а только нужных), а например включен ли режим атонумерации, из какой формы открыли текущую форму, путь к файловому серверу (иногда и это нужно), и массу других штук и настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 07:16 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov Что подразумевается под API Вечерний глюк :) увидел много букв - acSysCmdGetObjectState и почему-то решил, что это вызывается какая-то API-функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 10:09 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
авторв защиту таблицы могу сказать: - таблица храниться в файле юзера, а не на файловом сервере так что на трафик - пофиг. - в ней можно (и нужно) хранить не только данные об открытых формах (причем не всех формах, а только нужных), а например включен ли режим атонумерации, из какой формы открыли текущую форму, путь к файловому серверу (иногда и это нужно), и массу других штук и настроек. Слабенькие доводы в пользу таблицы - даже если таблица в файле юзера - все равно нужно открыть рекордсет на считывание/запись данных (и как справедливо заметил AlexJuice нужно учитывать тот вариант когда по какой-то причине запись не произошла) - в общем увеличение времени работы (пусть не на много, но все-таки) - не знаю что-такое режим автонумерации для формы - никак прокомментировать не могу - из какой формы открыли текущую может и нужно знать, но не вижу смысла писать эти данные в таблицу. 1-е можно просмотреть коллекцию Forms - в ней формы перечислены в порядке открытия. 2-е если формы могут открываться не последовательно, то можно передавать любые параметры в форму через OpenArgs. - тоже самое по поводу других штук и настроек - если хорошо знать свойства и методы существующих объектов аксеса, то в большинстве случаев нет потребности писать что-либо в таблицу. Вот что можно писать в таблицу (или в реестр как некоторые делают) так это пользовательские настройки для форм, отчетов, какие-то значения по умолчанию и т.п. Но писать в таблицу то, что можно считать из стандартных свойств...имхо - бесполезная трата времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 10:49 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
Добавлю. - у формы есть такое свойство как Tag. О нем многие забывают. - для формы можно создать свои свойства и методы. Если уж ей так нужно, что бы она помнила, из какой формы она была открыта, то почему бы ни создать ей такой свойство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 12:11 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
авторВот что можно писать в таблицу (или в реестр как некоторые делают) так это пользовательские настройки для форм, отчетов, какие-то значения по умолчанию и т.п. Но писать в таблицу то, что можно считать из стандартных свойств...имхо - бесполезная трата времени. я и менно про это и говорил но другими словами. К примеру ситуация: Существует некоторая форма, назовем ее справочник, который вызывается из трех разных по функциональности форм. Нужно чтобы запись из справочника перенеслась в форму из которой она была открыта, но все три формы в данный момент открыты . Как определить в какую форму подставлять запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 12:19 |
|
||
|
Как понять, открыта ли форма!
|
|||
|---|---|---|---|
|
#18+
авторК примеру ситуация: Существует некоторая форма, назовем ее справочник, который вызывается из трех разных по функциональности форм. Нужно чтобы запись из справочника перенеслась в форму из которой она была открыта, но все три формы в данный момент открыты. Как определить в какую форму подставлять запись? Именно в этом случае лучше всего подходит OpenArgs, или функция инициализации справочника, или глобальные переменные. Но писать это в таблицу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 12:22 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1683&tid=1676717]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
92ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 399ms |

| 0 / 0 |
