|
|
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
Довольно часто, при закрытии окна Access, программа полностью не выгружается. И снимаеться только из Таск Менеджера. Пока так не снять, загрузить новое окно программы неудаётся. Это очень...очень не приятно!....Особенно для клиента. Ситуация наблюдаеться под Win2K/AccessXP Может есть какая-то проверка на корректное закрытие Access. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2003, 23:28 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
чаще всего это происходит из-зи несоблюдения неписаного правила VB, которое гласит: -ежели ты чего-либо создал, то сам и уничтожь т.е. не надо полагаться на то,то объектные переменные исчезают сами собой с окончанием работы процедуры. Тем более это относится к переменным модуля и особенно к Public. Надо всегда закрывать эти объекты, если есть - своими методами, а если нет то Set obj = Nothing Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 09:13 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
Кроме того, известны случаи, когда Аксесс не выгружается, если: 1. Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then. 2. Идет проверка значения контрола в таком куске программы: Select Case True Case MyCtl = 1, MyCtl = 2 Это все глюки, но глюки имеющие место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:03 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов Ну все-таки не в обработчике. При закрытии объектов тоже могут ошибки быть (простейший случай - еще и не успели открыть). Если у тебя такая радость в обработчике случится - прощай обработчик, здраствуй обработчик верхней функции При работе с критичными ресурсами имхо надо в обработчике просто запомнить ошибку, продолжить сразу с finalize-блока, там On Error Resume Next, все позакрывать, On Error Goto 0, выбросить ошибку вверх (если она была). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:11 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
эту тему обсуждали неоднократно пора в форум добавлять, причём сразу после сжатия по поводу чекбокса. Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then. не только Значение чекбокса а вообще If чтото = True Then. явно писать надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:25 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
я, блин, весь обчекбоксился :) Нифига вашу ситуацию воспроизвести не удается c "if Флажок Then" М.б. такой глюк и был - когда-либо давно, или случается строго в опредленные часы ?) у меня на акесе2000+сп2 все закрывается без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:32 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
2 TatianaT: Ну, всегда писать =True - это перебор. Нужели следующую строчку Вы порекомендуете? If (a = 8) = True Then 2 Senin Viktor: Я сам это не наблюдал, но читал на каком-то сайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:34 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
2Владмир Саныч А сайт случайно не про акес 95/97 ? :) З.Ы. У меня тоже иногода не закрывается окошко. Но в основном после издевательств над рекодсетами, Application. У клиентов (отлаженные проги) такого еще не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:47 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
тов, критика принимается я имела ввиду чтото- as Boolean, т,е если Dim Вася as Boolean If Вася = True/False Then. вместо If Вася Then. или If Not Вася Then. (а флажок как частный случай) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:53 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor: :^) По-моему, там не было сказано, к какой версии относится это замечание. 2 TatianaT: Насколько я разбираюсь в апельсинах, с True дело вот в чем. Булевская константа True - это -1, однако If срабатывает всегда, когда в него запихано что угодно кроме нуля. Таким образом, если A=8, то и If A, и If Not A оба сработают, как будто это True. Вот во избежание таких ситуаций надо писать If A = True или If A = -1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 17:27 |
|
||
|
Закрытие окна Access
|
|||
|---|---|---|---|
|
#18+
Этот топик однажды мне помог, но натолкнулся еще на один глюк: Есть поле в форме с такой вот кривой формулой =[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)) Вот при наличии этого поля аксес также не выгружается. Первоначально поле было заведено, так как поле из сохраненной процедуры не обновлялось при изменениях в форме. После ввода команды синхронизации поле стало обновляться и надобность в вычисляемом поле отпала. Может кому и поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 10:39 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32196702&tid=1679183]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 419ms |

| 0 / 0 |
