Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закрытие окна Access / 11 сообщений из 11, страница 1 из 1
01.07.2003, 23:28
    #32196702
LANKO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
Довольно часто, при закрытии окна Access, программа полностью не выгружается. И снимаеться только из Таск Менеджера. Пока так не снять, загрузить новое окно программы неудаётся. Это очень...очень не приятно!....Особенно для клиента.

Ситуация наблюдаеться под Win2K/AccessXP
Может есть какая-то проверка на корректное закрытие Access.
Спасибо.
...
Рейтинг: 0 / 0
02.07.2003, 09:13
    #32196796
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
чаще всего это происходит из-зи несоблюдения неписаного правила VB, которое гласит:

-ежели ты чего-либо создал, то сам и уничтожь

т.е. не надо полагаться на то,то объектные переменные исчезают сами собой с окончанием работы процедуры. Тем более это относится к переменным модуля и особенно к Public.
Надо всегда закрывать эти объекты, если есть - своими методами, а если нет то
Set obj = Nothing
Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов
...
Рейтинг: 0 / 0
02.07.2003, 16:03
    #32197458
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
Кроме того, известны случаи, когда Аксесс не выгружается, если:

1. Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then.

2. Идет проверка значения контрола в таком куске программы:

Select Case True
Case MyCtl = 1, MyCtl = 2

Это все глюки, но глюки имеющие место.
...
Рейтинг: 0 / 0
02.07.2003, 16:11
    #32197469
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов
Ну все-таки не в обработчике. При закрытии объектов тоже могут ошибки быть (простейший случай - еще и не успели открыть). Если у тебя такая радость в обработчике случится - прощай обработчик, здраствуй обработчик верхней функции
При работе с критичными ресурсами имхо надо в обработчике просто запомнить ошибку, продолжить сразу с finalize-блока, там On Error Resume Next, все позакрывать, On Error Goto 0, выбросить ошибку вверх (если она была).
...
Рейтинг: 0 / 0
02.07.2003, 16:25
    #32197501
TatianaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
эту тему обсуждали неоднократно
пора в форум добавлять, причём сразу после сжатия
по поводу чекбокса.
Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then.
не только Значение чекбокса а вообще If чтото = True Then.
явно писать надо
...
Рейтинг: 0 / 0
02.07.2003, 16:32
    #32197516
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
я, блин, весь обчекбоксился :)
Нифига вашу ситуацию воспроизвести не удается c "if Флажок Then"
М.б. такой глюк и был - когда-либо давно, или случается строго в опредленные часы ?) у меня на акесе2000+сп2 все закрывается без проблем.
...
Рейтинг: 0 / 0
02.07.2003, 16:34
    #32197524
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
2 TatianaT:

Ну, всегда писать =True - это перебор. Нужели следующую строчку Вы порекомендуете?

If (a = 8) = True Then

2 Senin Viktor:

Я сам это не наблюдал, но читал на каком-то сайте.
...
Рейтинг: 0 / 0
02.07.2003, 16:47
    #32197543
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
2Владмир Саныч

А сайт случайно не про акес 95/97 ? :)

З.Ы.
У меня тоже иногода не закрывается окошко. Но в основном после издевательств над рекодсетами, Application. У клиентов (отлаженные проги) такого еще не было.
...
Рейтинг: 0 / 0
02.07.2003, 16:53
    #32197559
TatianaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
тов, критика принимается

я имела ввиду чтото- as Boolean, т,е если

Dim Вася as Boolean
If Вася = True/False Then.
вместо If Вася Then. или If Not Вася Then. (а флажок как частный случай)
...
Рейтинг: 0 / 0
02.07.2003, 17:27
    #32197618
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
2 Senin Viktor:

:^) По-моему, там не было сказано, к какой версии относится это замечание.

2 TatianaT:

Насколько я разбираюсь в апельсинах, с True дело вот в чем. Булевская константа True - это -1, однако If срабатывает всегда, когда в него запихано что угодно кроме нуля. Таким образом, если A=8, то и If A, и If Not A оба сработают, как будто это True. Вот во избежание таких ситуаций надо писать If A = True или If A = -1.
...
Рейтинг: 0 / 0
29.09.2003, 10:39
    #32277896
RIm
RIm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна Access
Этот топик однажды мне помог, но натолкнулся еще на один глюк:

Есть поле в форме с такой вот кривой формулой
=[kol]-(nz([m01];0)+nz([m02];0)+nz([m03];0)+nz([m04];0)+nz([m05];0)+nz([m06];0)+nz([m07];0)+nz([m08];0)+nz([m09];0)+nz([m10];0)+nz([m11];0)+nz([m12];0))
Вот при наличии этого поля аксес также не выгружается.


Первоначально поле было заведено, так как поле из сохраненной процедуры не обновлялось при изменениях в форме. После ввода команды синхронизации поле стало обновляться и надобность в вычисляемом поле отпала.


Может кому и поможет.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закрытие окна Access / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]