|
|
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Присвоила значение в процедуре одной формы вывожу через MsgBox ее значение в другой форме а там пусто. Подскажите в чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 11:46 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
А она действительно глобальная? Как описана и где? Option Explicit поставлено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 12:06 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
На всякий случай о глобальных переменных: /topic/29795 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 12:41 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Вообще, лично у меня, как-то сразу не заладилось с глобальными переменными в Accesse - ну терял он их значение... Я поступал так: либо хранил значение в таблице, либо в скрытой форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 18:39 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Ну а как описывали PUBLIC MyGlobalVal as integer ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 19:08 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
В таблице - это можно только при условии, что два юзера не работают одновременно. А значения переменных стираются известно когда: либо когда посреди отладки нажимаешь на Reset Code, либо когда вместо Exit Sub используется End. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 19:10 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
2 ВС (если позволите) :-) Если 2 (и более) юзера одновременно, то данные - отдельно; код, формы - отдельно. И если табличка в базе с кодом и формами, то проблем не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 19:39 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Блин ладно глобальные переменные теряются У меня в форме приватные переменные сбрасываются. Может, кто с таким чудом сталкивался? На открытии формы куда-то лезу, что-то читаю и запоминаю некое значение (чтобы потом не делать эту работу опять). В какой-то момент енто запомненое значение становится 0/False/vbNullString/Nothing независимо от того каким было прежде. Закрытие/открытие формы все ставит на свои места, но ведь это неправильно. Самая жопа то, что происходит это в Новосибирске, а я в Москве :) Помогите кто чем может, сами мы не местные :) Access 97, mde, унаследована куча кода без нормальной обработки ошибок. Т.е. сам access вынужден ловить необработанные ошибки и выдавать msgbox'ы, есть предположение что в такие моменты проект и сбрасывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 20:01 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Совершенно верное предположение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 20:15 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
2 Nick987: > Если 2 (и более) юзера одновременно, то данные - отдельно; код, формы - отдельно. И если табличка в базе с кодом и формами, то проблем не возникает. То есть у Вас база с кодом и формами всегда сидит на местном диске? Тогда уже лучше. Если только юзер не откроет два Аксесса одновременно. 2 Лох: > В какой-то момент енто запомненое значение становится 0/False/vbNullString/Nothing независимо от того каким было прежде. Боюсь показаться банальным, но неплохо бы поискать с отладчиком, что это за момент такой. И кстати: нет ли где команды End? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 20:48 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Команды End нет. Моментов - 10 мегабайт исходников Отладчиком поискать хорошо бы, но у меня такого не случается (интересно почему), а пользователи не могут хотя бы примерно при каких действиях формы колбасится начинают. Вот и приходится искать то не знаю чего. Кто нибудь может сказать, что происходит с аксесом при необрабатываемых ошибках? В mdb в код рушится, в mde ругань выдается, а с проектом во время этой ругани ничего плохого не происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 21:27 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Предлагаю вариант вместо отладчика. Пошлите им версию, которая после каждого чиха пишет в файл: отладочная точка номер такой-то, переменные в порядке / не в порядке. Когда в очередной раз переменные сотрутся, пусть они Вам пришлют этот файл. Таким образом сможете примерно найти место, в котором это происходит. В этом месте натыкайте таких отладочных точек погуще и опять пошлите им версию. После нескольких итераций уже можно будет о чем-то разговаривать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 21:40 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Хороший вариант, конечно, но в 10мб вставлять контрольные точки куда только можно... Потом это анализировать... Брррр.... Проще переписать все к чертям. Буду медитировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 09:10 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Я в глобальных переменных много чего держу. М принадлежность юзера группе и разные там нужные даты, и путь к базе и... Заполняются они функциями в начале загрузки (дабы потом не тратить время на вычисление). А на октрытие форм, сталю проверку одной из переменных на наличие данных, если есть- ОК, если нет, то молчком на новую инициализацию всех переменных. >> В какой-то момент енто запомненое значение становится 0/False/vbNullString/Nothing независимо от того каким было прежде. А может где они по ссылке передаются (еще одно глупое предположение, ведь и у тебя то же самое было, хотя... а у тебя случайно нет неких процедурок, к-ые отслеживают UserName/Group и делают - вывод кто перед ними админ или юзер? Тогда ошибка могла быть при работе с юзерами, а не с админом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 09:40 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Передаваться то они передаются, причем даже ByRef'ом (не забыть исправить :)), но вроде как нигде не меняются. Мог бы в каком-нибудь месте ошибиться и затереть, но не все же переменные разом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 09:48 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Я в глобальных переменных много чего держу. М принадлежность юзера группе и разные там нужные даты, и путь к базе и... Заполняются они функциями в начале загрузки (дабы потом не тратить время на вычисление). А на октрытие форм, сталю проверку одной из переменных на наличие данных, если есть- ОК, если нет, то молчком на новую инициализацию всех переменных. Для устранения подобной ситуации делаю то же самое В большинстве Form_Open - вызов Public-функции для проверки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 10:11 |
|
||
|
Завела глобальную переменную....
|
|||
|---|---|---|---|
|
#18+
Так делать конечно правильно. Видимо так и поступлю. Но куда оно все-таки исчезает?? Получается не решение проблемы, а какая-то чудо-варежка. Одну дыру заткну, и буду ждать где еще какие-нибудь переменные грохнутся. Не спортивно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 10:15 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32147089&tid=1681720]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 364ms |

| 0 / 0 |
