powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глобальные переменные
100 сообщений из 100, показаны все 4 страниц
Глобальные переменные
    #32215463
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Известно, что Акцес скидывает значения глобальных переменных при ошибках. Как это обойти? Навскидку думаю создавать в какой-нибудь, скажем, скрытой форме одноименные поля, в которые и складывать значения. Есть ли способ лучше?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215471
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Известно, что Акцес скидывает значения глобальных переменных при ошибках.
Лично я об этом в первый раз слышу. Можно ссылочку на источник утверждения или примерчик?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215481
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аксес скидывает глобальные переменные при необрабатываемых ошибках.
Отсюда вывод - ошибки надо обрабатывать.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215497
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть в некоем модуле объявление типа

Public MyVar as byte

В процессе работы что-нибудь туда кладу

Private Sub Function Butt1_Click()
MyVar = 1
...

Дальше генерицца (против моего желания, конечно:) ошибка. После этого в MyVar будет 0.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215501
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Логично. Но ведь я не всегда знаю, где будет ошибка :)) и посему не всегда могу ее обработать.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215535
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ох и любит народ скрытые формы

уж лучше в табличку писать
создай сколько хочешь(до 256 аксес позволяет) полей в этой табличке и только 1 запись( в локальной базе) или с добавлением кода юзера и положи на сервер
и выдёргивай когда надо
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215544
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нехорошо. Во-первых, я заранее не знаю, сколько и каких переменных буду использовать, поэтому создавать в этой табличке новые поля - еще хуже, чем добавить поле в форму. Во-вторых, к этим переменным я буду обращаться и в запросах, и в циклах. Что быстрее - обратиться к полю открытой формы, или открыть таблицу, прочитать ее запись и посмотреть содержимое поля?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215550
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если переменная - обьект?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215559
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если переменная - объект...

А нек..й объекты в глобальных переменных хранить тогда! Или же надо бояться...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215575
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не надо всю таблицу читать
индексы ещё не кто не отменял
сколько у тебя есть глобальнных переменных? 20? 40? 100?
например пересчитал свою глобальную переменную - выполнил апдейт и живи дальше

а после какой ошибки Асесс сбрасывает значение глобальных переменных?
поподробнее пож-та, всем интересно
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215586
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь я не всегда знаю, где будет ошибка :))
Зато я знаю.
Ошибка может быть ВСЕГДА и ВЕЗДЕ!
Поэтому как минимум все функции верхнего уровня (типа обработчиков событий) должны в обязательном порядке содержать обработку ошибок.
Ну еще все функции, которые вызываются из макросов, через Eval и т.п. скотоложество - в них тоже должна быть обработка.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215588
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2TatianaT

> сколько у тебя есть глобальнных переменных? 20? 40? 100?

Да не знаю. Сегодня 100, завтра 101 и т.д.
Или при каждом запуске убивать таблицу и создавать новую?

>а после какой ошибки Асесс сбрасывает значение глобальных переменных?

В каком-нить модуле:
Public MyVar as byte

В какой-нить форме:

Private Sub Function Butt1_Click()
MyVar = 1
MsgBox MyVar
MyVar = "qwerty"

Вылезает ошибка. Очумевший пользователь после n-й попытки понимает, что после нажатия на кнопку Debug надо перезагружаться, а после End - все вроде-бы работает.

Так вот после нажатия на End переменная MyVal становится равной 0.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215595
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Согласен. Но ведь за всем не уследишь. И непременно профукаешь САМУЮ ГЛАВНУЮ переменную. Обидно, да. Поэтому и хочу от греха хранить их "сбоенезависимо".
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215600
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очумевший пользователь после n-й попытки понимает, что после нажатия на кнопку Debug надо перезагружаться, а после End - все вроде-бы работает
Нет, это не я лох позорный
Ты зачем вообще оставил пользователю доступ к исходному коду???
Тебе шаловливые пользователи никогда код не правили что-ли?

И непременно профукаешь САМУЮ ГЛАВНУЮ переменную
Вот ведь лень до чего доводит...
Пробегись по всем своим "Private Sub Function Butt1_Click" и впихатй туда обработку ошибок. Тогда и в код не будет падать, и переменные не будут сбрасываться.
Писать надо сбоенезависимо
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215602
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Есть очень простое решение. Пишешь процедуру, которая задает значения всем глобальным переменным. А дальше в коде в самых критичных местах:

If хотя бы одна из глобальных слетела Then вызвать эту процедуру
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215603
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
браво ЛП!!!
я только подумала, а ты уже написал
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215608
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Нет, это не я лох позорный \r
Зар-раза \r
\r
> Ты зачем вообще оставил пользователю доступ к исходному коду??? \r
> Тебе шаловливые пользователи никогда код не правили что-ли? \r
\r
Да не везде я могу писать mde!\r
/topic/40756\r
Кроме того, моя организация имеет деньгу с абонентской поддержки, т.е. программы постоянно находятся в стадии разработки. И не мне это менять.\r
\r
> Вот ведь лень до чего доводит... \r
> Пробегись по всем своим "Private Sub Function Butt1_Click" и впихатй туда\r
> обработку ошибок. Тогда и в код не будет падать, и переменные не будут\r
> сбрасываться. \r
> Писать надо сбоенезависимо\r
Плин, да я и так это знаю. Вопрос здесь не только и не столько о моем природном идиотизме, а о хранении глобальных переменных. Если ты скажешь, что в твоих программах в принципе не бывает ошибок, я сам готов собрать тебе памятник из пивных бутылок (невысокий).
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215614
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня обработчики ошибок стоят ВЕЗДЕ. Где не стоят, там On Error Resume Next.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215621
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимиру Санычу:
Согласен. Но некоторые переменные (к примеру текущая организация или р/с) могут меняться в процессе работы в неизвестных местах. И если окажется, что последние пара записей внесены не так, как ожидалось, то (мне) может стать мучительно больно.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215624
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А такие переменные можно держать на форме (даже не на скрытой).
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215628
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Pavel и остальные.

Я в первую очередь исхожу из посылки, что могу в том или ином месте забыть поставить обработчик (что, естественно, переодически и происходит). Или, не дай бог, будет дописывать кто-нибудь еще, кто не знает об этой особенности Access'a.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215629
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не везде я могу писать mde!
mde-не mde, а конечный пользователь не должен иметь доступа к коду!!
Сбросить галку "Просмотр програм после ошибки" в параметрах запуска. При этом, кстати, кнопка "Debug" и недоступна будет. И все начнет сбрасываться

Если ты скажешь, что в твоих программах в принципе не бывает ошибок
Я скажу что в моих программах не бывает необработанных ошибок. Разницу чуешь?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215634
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое простое для всех глобальных обектов\переменных выделить 1 модуль.
В нем же сдеалать (как Саныч рекомендовал) инициализацию - ведь она когда нибудь происходит? Вот это все свести в одну функцию - одну из переменных отслеживать и в случае ее сброса заново выпонять инициализацию.
я этот подход использую в принципе только для себя и на стадии разработки - лучше конечно ошибки обрабатывать.

==
А таблицу из 256 столбцов заводить не надо - лучше 256 текстовых строк - в проге делать преобразование в нужный тип данных. Сейчас вообще думаю вынести настройки проги в сохраненых рекодсет- пусть там валяются в типа зашифрованном виде :) Удобно обновлять бд не трогая файл настроек - хотя этот подход мало чем отличается от обычного mdb для настроек. Но это уже дело вкуса.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215644
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в первую очередь исхожу из посылки, что могу в том или ином месте забыть поставить обработчик (что, естественно, переодически и происходит).
Я не забываю, но меня достало уже один и тот же обработчик (ну, на самом деле их три) вставлять во все функции методом copy-paste. Потому и искал в свое время приблуду для аксеса хр, которая вставляет обработчик сама. По моему, эта приблуда должна быть в девелопере.

Или, не дай бог, будет дописывать кто-нибудь еще, кто не знает об этой особенности Access'a.
Это уже хуже. Конечно, тот человек сам себе буратинка, но наиболее критичные куски - как Саныч прописал.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215658
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
> Сбросить галку "Просмотр програм после ошибки" в параметрах запуска.
Ок. Спасибо.

>> Если ты скажешь, что в твоих программах в принципе не бывает ошибок
> Я скажу что в моих программах не бывает необработанных ошибок.
> Разницу чуешь?

Чую. Но это справедливо только для обкатанных некоторое время программ. А у меня, повторюсь, программы постоянно "в стадии разработки". Важный фактор - моя неопытность в акцессе.

2Senin Viktor
По первой части согласен полностью, я так и делаю сейчас. Но "сбоенезависимость", думаю, мне все-таки нужна. И, скорее, реализованная посредством формы, а не таблицы.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215698
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Private Sub Function Butt1_Click()"
Во как...

2ЛП
Потому и искал в свое время приблуду для аксеса хр, которая вставляет обработчик сама. По моему, эта приблуда должна быть в девелопере.
Интересно. Свистни, пожалуйста, если встретишь ее.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215711
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут даже давали ссылку на нечто похожее. Оно (на что давали ссылку), как я понял, вставляет обработку ошибок в уже существующий код - как раз то что тебе нужно кажись. Но это не совсем то что мне нужно.
Запусти поиск по слову "приблуда"
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215746
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то уже обсуждали подобное\r
/topic/29884\r
Я делаю, как Виктор и Саныч
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215753
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин ладно глобальные переменные теряются
У меня в форме приватные переменные сбрасываются. Может, кто с таким чудом сталкивался?
На открытии формы куда-то лезу, что-то читаю и запоминаю некое значение (чтобы потом не делать эту работу опять). В какой-то момент енто запомненое значение становится 0/False/vbNullString/Nothing независимо от того каким было прежде. Закрытие/открытие формы все ставит на свои места, но ведь это неправильно.
Самая жопа то, что происходит это в Новосибирске, а я в Москве :)
Помогите кто чем может, сами мы не местные :)
Access 97, mde, унаследована куча кода без нормальной обработки ошибок. Т.е. сам access вынужден ловить необработанные ошибки и выдавать msgbox'ы, есть предположение что в такие моменты проект и сбрасывается


Хехе :) Постройка памятника отменяется.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215767
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как раз нет . Ключевое слово - " унаследована куча кода"
Я сам построить памятник предыдущим разработчикам. Просто за%бался за ними говно вычищать. Вот из этого говна и построю им памятник.

Слава богу переписал таки эту помойку
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215866
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тпру!
Злостный идиотизм.

В открытую форму, будь она неладна, нельзя добавлять контролы. Делать таки посредством таблицы? А как?

Если посредством "[название переменной], [строка-значение переменной], [тип переменной]", долгим будет чтение - поиск и преобразование к нужному типу.
Если способом ТатьяныТ, получаем ограничение на количество переменных, плюс при добавлении новой переменной менять структуру таблицы.
А если все-же в форме? Т.е. если добавляем несуществующую переменную, то открываем форму в режиме конструктора, создаем поле, сохраняем форму, и открываем ее. Чтобы при этом не пропадало содержимое переменной, храним его не в Value, а в DefaultValue. А кстати, может все время держать эту форму в режиме конструктора? Т.е. можно ли открыть форму в режиме конструктора так, чтобы ее не было видно, и на нее нельзя было попасть?

Посмотрим...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215881
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злостный идиотизм.
Согласен.

В открытую форму, будь она неладна, нельзя добавлять контролы
А в скомпилированный код нельзя на лету добавлять глобальные переменные. Ну и что?

Ты уж определись в какой момент и кто добавляет чувствительные (к возможным глюкам) глобальные переменные. Если ты - то ты же и в форму контролы добавить можешь. Если не ты - то он сам себе буратинка. Пусть сам озаботится непропаданием своих глобальных переменных.

Разруха - она в головах (с) Собачье сердце
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215911
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разруха - она в головах (с) Собачье сердце
Сам дурак. :)

Ты уж определись в какой момент и кто добавляет чувствительные (к возможным глюкам) глобальные переменные
Уже определился. Я. И, возможно, буратинки. Еще раз повторяю, задача(и) все время дописываются. Сегодня не нужна переменная, завтра понадобится.

И вот еще:
"Про ответы
1. Лучше хамский ответ, чем никакого.
2. Лучше никакого ответа, чем хамский.
3. Лучше получить на мыло готовый проект."
(с) Витал.

Если нечего подсказать или нет желания это делать, так зачем клавиатуру мозолить?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215918
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это не я дурак (я так вобще не дурак, я лох )

Еще раз повторяю, задача(и) все время дописываются
Бл%дь да не динамически же (в ходе выполнения программы) эта задача дописывается!!!
Что ты до%бался до формы - открыта, закрыта, какая на хрен разница. Сделал новую глобальную переменную - добавил контрол на форму. В чем проблема???
Сегодня не нужна переменная, завтра понадобится.
Вот завтра контрол и добавишь

Если уж ты придумаешь такую программу, которая налету будет сама себя дописывать - то и контрол на открытую форму прицепишь
И премию от била гейтса получишь.

Злостный идиотизм.
Еще раз согласен
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215950
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал новую глобальную переменную - добавил контрол на форму. В чем проблема???
В лени. Я уже написал процедуру, которая сама добавляет контрол, а завтра забуду об этой скрытой форме, с ее контролами, т.к. думать мне об ней уже не нафих не нужно. А послезавтра эту процедуру воткну в другую программу, тоже не разбираясь, как там она работает.

Сам дурак.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215962
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем проблема???
В лени.

Лопату в руки - и канавы копать
От лени (при программировании) очень хорошо излечивает

P.S. Пока канавы копаешь - не забудь про ограничение на максимальное количество контролов на форме. А то вдруг забудешь - пошлют унитазы чистить
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215970
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это правильная лень :)

Пока канавы копаешь - не забудь про ограничение на максимальное количество контролов на форме
Сколько? :(

И вот еще: у формы есть что-нить типа Dirty, а то она повадилась сохраняться?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215987
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько? \r
Столько\r
\r
у формы есть что-нить типа Dirty \r
Св-во - есть\r
Событие - тоже есть, но не во всех аксесах (то ли с 2000-го, то ли с 2002-го)\r
\r
а то она повадилась сохраняться \r
А за пивом она еще не повадилась бегать?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32215994
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geo
кому было что сказать - уже высказались

Ты хочешь что-то очень универсальное сделать?
всегда надо помнить что у медали 2 стороны

народ хором ответил что ошибки надо обрабатывать
держать какую-то форму открытой в конструкторе во время работы приложения - это вообще непонятно для чего
( ну разве чтоб проэкт порушился)

относительно таблицы
поля стоит добавлять только при добавлении новой переменной
лень делать ручками?
ну в конце концов напиши функцию которая будет проверять наличие новой переменой - как обнаружит - добавляй автоматом поле с таким же имемнем и типом в таблицу а при при работе апдеитируй и всё
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216009
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Хехе
но все равно, 400 > 250.

А за пивом она еще не повадилась бегать?
А за пивом я щас сам побегу :)) (или, может, что покрепче все-таки?... - риторический вопрос)

2ТатьянаТ
А я народу уже хором из одного голоса дружно ответил, что ошибки стараюсь отслеживать, но во избежание хочу сделать именно в форме или таблице.

2All
А вообще, конечно, как всегда спасибо. Идеи пригодились. Сейчас пойду до дому и все доделаю и отшлифую.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216012
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo
Дополнение к посту Татьяны
поля стоит добавлять только при добавлении новой переменной
лень делать ручками?
ну в конце концов напиши функцию которая будет проверять наличие новой переменой - как обнаружит - добавляй автоматом поле с таким же имемнем и типом в таблицу а при при работе апдеитируй и всё


Гео, пока канавы копаешь - не забывай про ограничение на максимальное количество полей в таблице. А то вдруг забудешь - пошлют унитазы чистить

2 Татьяна
Не очень хорошее решение ты предложила. Поля добавлять можно только если с этой таблицей никто не работает. А так как там глобальные переменные хранятся - она будет постоянно занята.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216027
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2лп
>Поля добавлять можно только если с этой таблицей никто не работает. А так как там глобальные переменные хранятся - она будет постоянно занята.

Такую таблицу надо хранить в клиентской части.

>Гео, пока канавы копаешь - не забывай про ограничение на максимальное количество полей в таблице. А то вдруг забудешь - пошлют унитазы чистить
И все-таки неправильно так разговаривать. <Здесь была написано ответное оскорбление, вырезал за ненадобностью>
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216056
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такую таблицу надо хранить в клиентской части.
Торможу.
Но все равно. Даже в клиентской части - чтобы таблицу модифицировать на ходу, надо чтобы на ней даже никакой рекордсет не висел. А это убивает все надежды на оптимизацию по скорости (каждое чтение глобальных переменных сопровождается открытием/закрытием DAO рекордсета)

По поводу всего остального
Кто в армии служил - тот в цирке не смеется?
Ладно, расслабься. Никто тебя от канав не будет отрывать. Унитазы пошлют чистить других
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216071
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это зависит от того где эта таблица сидит
если локально на станции то нет проблем

у меня так организовано:
на сервере лежит номер версии приложения txt файле
на главной форме лебл с номером

у меня в проэкте добавлена проверка- если пользователь 30 минут не работает то приложение автоматом закрывается

при поднятии приложение( приложение сидит на каждой станции)
сверяет номер в txt файле и на лейбле и если не совпадают то эта версия затирается и на её место копируется с сервера новая версия
так сюда же можно и добавить какие-то другие изменения и проверки

вот если с его базой работают 24 часа в сутки ....
но , пардон в туалет или кушать, пользователи ходят наверное
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216074
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мнение.
Лучше их (глобальные переменные), наверное, вообще стараться не использовать. Потенциальный источник ошибок.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216092
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Но все равно. Даже в клиентской части - чтобы таблицу модифицировать на ходу, надо чтобы на ней даже никакой рекордсет не висел. А это убивает все надежды на оптимизацию по скорости (каждое чтение глобальных переменных сопровождается открытием/закрытием DAO рекордсета)
Это да.

Кто в армии служил - тот в цирке не смеется?
Да, уж. Опять тянет что-нить написать, но опять не буду. Это не к топику, это если только на "лестницу".

2ТатьянаТ
...сверяет номер в txt файле и на лейбле и если не совпадают то эта версия затирается и на её место копируется с сервера новая версия
И что?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216093
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
Конечно, лучше, видимо. Но совсем не использовать, наверное, не получиться.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216100
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что?
копируется с сервера новая версия
так сюда же можно и добавить какие-то другие изменения
и проверки
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216106
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GEO, я тут пропустил,
А чем Вам не нравится сохранять их в таблице вида:
Название переменной, тип, значение, описание
И читать,писать, добавлять функциями

ЧитатьПеременную(Имя переменной)
ИзменитьПеременную (Имя переменной, Новое значение)
ДобавитьПеременную(Имя переменной, тип, значение, описание)?

Высокие требования к скорости выполнения этих операций?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216114
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ТатьянаТ
Все равно не очень понятно. Если ты говоришь именно о копировании новой версии с добавленными полями для хранения переменных, то да. Такую штуку я собираюсь делать чуть позже и немного по-другому. А идея в том, чтобы как раз впоследствии не делать лишних фрикций. Захотел добавить новую глобальную переменную - написал SetGlobalVar("NameVar",123) и она сама проверит, есть такая переменная или нет, и создаст ее, если надо. Сейчас я трачу на это день + получаю ваши ценные советы, а за пару лет сэкономлю недели.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216122
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему, хранить эти переменные в таблице из одной строки-извращение.
Во-первых - не красиво и смотреть неудобно - длинная такая глиста. Во вторых, если надо добавить новую переменную, надо добавлять новое поле, что, по моему, очень плохо.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216123
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
Ну, в общем, да. Если в таблице, то, как справедливо сказал Лох, ее придется каждый раз открывать, а не хранить в переменной, иначе оная переменная сама станет глобальной и к тому же объектной. Даже если хранить их скажем, в списке, а не в таблице, то каждая из функций должна сначала найти нужную строку. А в случае с полями в форме, работа по поиску нужного поля полностью лежит на самом Аксесе.

Кроме того, процедура ДобавитьПеременную() я включу в состав ИзменитьПеременную().
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216129
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для чего Вам бешеная скорость операций с эими переменными, если не секрет. У меня они используютя обычно для "разветвления вариантов" в интерфейсе, и никаких требований к скорости нет...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216134
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же, а если они вдруг попадают в запрос или в цикл?
И вообще, хуже не будет, если они будут работать по возможности быстрее.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216137
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а извращение с формой открытой в конструкторе лучше?
или просто так лишнюю форму держать открытой это хорошо?
сколько у тебя этих переменных?


если придумаешь что-то получше поделись с нами результатом
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216140
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GEO
Ну и на каком варианте Вы остановились?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216146
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТатьянаТ,
Я совершенно не хотел Вас обидеть, просто я имел в виду, что лично мне этот вариант не по душе. Хотя это дело вкуса...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216150
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Б-г мой,развели дискуссию на 3 листа. Geo,кого ты хочешь обмануть?Сам себя?
Прямо как в том анекдоте:
"А я милиционера обманул.Спрятал,но не перестал..."
Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216153
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) а я и не думала обижаться
2) советы вещь хорошая, но реально на самом деле мы не знаем всех нюансов проэкта
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216157
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ТатьянаТ
> а извращение с формой открытой в конструкторе лучше?
не лучше, но, на мой взгляд, будет работать быстрее.

> или просто так лишнюю форму держать открытой это хорошо?
совсем плохо, ну и что? Она скрыта, т.е. открылась с помощью DoCmd.Openform ... acHidden, а пункт меню "Окно-отобразить" отсутствует.

> сколько у тебя этих переменных?
Не знаю и знать не хочу, но, думаю, меньше, чем предел кол-ва полей в форме или таблице.

2wara
Я еще дома сейчас все это маленьго обмозгую, потом скажу. Хочется переменные, которые возможно хранить все-таки в памяти, а при их обнулении восстанавливать их из сохраненного вида, как выше говорил Владимир Саныч, Senin Viktor и пр. М.б. при чтении буду проверять переменную в памяти (скажем, в массиве), если она пуста, делать восстановление из формы или таблицы, а при записи класть новое значение и в память, и в "хранилище". Т.к. запись происходит значительно реже, чем чтение, то будет, наверное, нормально.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216162
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2VIG
:)) Вот тебе и раз. Докатились. "Не используй глобальные переменные". Эту рекомендацию еще и в ФАК и в мелкопрог - "Access не имеет средств для работы с глобальными переменными".
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216164
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТатьянаТ,
Ну да, вот только вопрос о том, где же все-таки грамотно держать эти глобальные переменные (или програмно изменяемые константы?) так и остался открытым.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216167
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A кто такой Аксесс, я не знаю никакого Аксесса... (Б.Гейт)
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216236
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо: Если что-то нужно для долгого хранения - в течении всего сеанса или т.п. - ползуйся временной таблой. Оно и запросы строить легче. А если что-то надо быстро передать в обработчик и там, не отходя от кассы, наобрабатываться вдребезги, - то тут всякий раз в таблицу лазить незачем, и переменная не повредит... но вот тут-то можно и нужно тщательно обработчики заточить. Мест таких немного. Тогда соглашение компактного использования переменной - "передались, шустро попользовали и не помним, что такие есть" - гарантирует от неактуальных данных. (при наличии именно в этих местах всех обработчиков)

Кстати, если хранить некие данные в свойствах (форм), а сами формы открывать как экземпляры, то сбрасывание их переменных (в описвающих модулях) приведет к закрытию этих форм. Т.ч. попользоваться "неверными" свойствами умерших с ними форм не удастся. Следовательно:
___
Идея: Можно к примеру так заставку открыть (экземпляром). Как нет заставки - так нет и всех ее свойств. Действительно глобальной объявить переменную этой "заставки". Как она схлопнется - все обращения к прочим "глобальным" - т.е. в этом случае свойствам (или пабликам) "заставки" будут давать ашипку. Думается. (типа err=91 "Объектная переменная или переменная блока With не задана"). ...Остальные формы можно открывать "классически" (если ломает, или приложение старое/стандартное). Вот вам и "грамотное" расположение переменных.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216256
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю
Не могу не согласиться.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216295
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216296
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри... дубль два...
Драсте... Какие интересные темы до трех страниц взлетают, пока меня нет :(

Гео и все, глобальные переменные можно организовать так, что они никогда сбрасываться не будут! Сам только недавно эту тему просек и уже успешно ее юзаю :)
Чтобы переменные не сбрасывались после "остановки" кода проекта их не надо хранить ни в формах, ни в таблицах, а в... обычных Глобальных переменных, но тока расположенных в других проектах Access :)
Не торопитесь звать меня уродом! Просто делаем:
Раз: открываем новую БД Аксесс и создаем в ней модуль;
Два: в модуле объявляем глобальные переменные;
Три: в ссылках основного (рабочего) проекта указываем ссылку на данную БД;
Четыре: юзаем глобальные переменные данной библиотечной БД как собственные;
Пять: теперь хоть заостанавливайся рабочий проект - ни одна переменная в библиотечном проекте не потеряет своего значения;
Шесть: НИКАКОГО (во всяком случае безответственного) кода в библиотечной БД, иначе останов выполнения кода в Библиотечной БД приведет к потере наших нетеряемых переменных;
Семь: на-сла-жда-ешься :)

Примечание: под термином "проект" подразумевается не adp-проект, а VBA-проект...

Кстати... Надо статейку am-у забацать :)
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216303
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. При хранении переменных в полях формы:
а) все значения будут строковыми, т.к. и DefaultValue, и Tag - строковые.
б) это будет работать только для mdb, что меня, в принципе, устраивает, а общественность - ?
2. Чтение содержимого поля формы занимает примерно вдвое меньше времени, чем пробежаться по 100 строкам массива 2х400, т.е. хранить переменные в памяти бессмысленно.
3. Если пользоваться таблицей или списком в качестве хранилища, то пп. 1б и 2 теряют смысл. А если использовать вариант, предложенный ТатьянойТ, то и п. 1а.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216305
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Нуф-Нуф
Я б на тебе женился! :))
Блин, а ведь я уже все почти написал, млин. :) Сегодня уже делать ничего не буду, а завтра попробую по-твоему.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216308
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Нуф.
Пробовать все равно не буду, а не думать не могу.
А ента md? в панели задачь или еще где видна не будет?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216316
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео, единственное, где она будет видна, так это в VBA-проводнике (где перечисляются все модули, модули классов и т.п.). Т.е. она (БД) будет светиться там как проект с присвоенным ему тобой именем, при этом из самой рабочей БД ничего поменять в присоединенной БД будет невозможно. Вернее возможно, но сохранить внесенные в присоединенную БД изменения не получится. Только открывать специально (отдельно) эту библиотечную БД и редактировать... Еее можно сделать как mdb, так и mde... На вкус...

И Гео, это... Давай дождемся мнения общественности... А тогда уже посмотрим... Может я и соглашсь (на счет женился)
//за%бало все чёта... хочет поменять цвет волос, работу, пол и место проживания... А московская область это есть хорошо
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216326
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
често говоря всё это (глобальные переменные: пол, место жительства,...)
конечно хорошо но за всю свою практику ни разу такого не требовалось.

обычно при отладке куска до которого нужно сделать кучу действий - вылетает ну очень обидно. а глобальные переменные хранить не было нужды
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216346
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :)

>често говоря всё это (глобальные переменные: пол, место жительства,...) конечно хорошо но за всю свою практику ни разу такого не требовалось.

Вадя, ну если честно говоря, то у меня, как и у большинства здесь высказавшихся, во всех процедурах и функциях обработчики стоят. А там где не стоят обработчики ошибок (специально, для генерации ошибки в вызвавшем коде) стоят комментарии, типа обработчик не добавлен сознательно...

И тем не менее, топик всего лишь за ПОЛ-ДНЯ вырос до ТРЕХ страниц! Это говорит об интересе народа к теме...

Вообщем-то я предпологал, что реакция Гео будет богатой, а реакция All - скупой... Ну не вызывает мой ник (или я сам) почему-то уважения, в чём сегодня еще раз убедился в соседнем топике, поэтому на похвалы или присуждение енотов со стороны All не надеялся, да и не нуждался, ибо человек, которому по ряду причин (правильных или ошибочных) было нужно именно это решение я помог, как смог. Всё остальное - ерунда...
Хотя, парочку енотов я сам себе пририсую на мониторке :) //остался доволен собой...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216351
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуф-Нуф>Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :)
----------

Горько!...Горько!...Горько!
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216352
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуф, я жениться на тебе не буду (религия не позволяет), но енота тебе нарисую. Размером с кабана
Хорошее у тебя решение. Рву волосы (в том числе и на голове). Как мне самому этакая идея в голову не пришла...

Адын только минус укажу (чтоб ты не переусердствовал в рисовании енотов себе на мониторе )
С подключенными через ссылки аксесовские библиотеки усложняется сопровождение програмного продухта. Если таблички можно переприсоединить (и даже юзеру такую возможность дать), то при изменении пути к аксесовской базе придется перекомпилять приложение. А вот на это я уже пойти не могу

З.Ы. А на соседний топик можешь наплевать. Как тебе в еще одном соседнем топике сказали - надо сразу на хуй посылать, а не обиды разводить. Это каб из себя обиженного умеет корчить, а у тебя это плохо получается
И вообще радуйся. Типа ты умеешь не только читать, но и думать. А чудак из соседнего топика не умеете не только думать, но и читать (то что ему русским по белому написали).
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216358
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лифчик, да погоди ты! Еще ведь не наливали...

ЛП, спасибо за жирного енота - кормить дооолго не надо будет :) На счет всего остального - согласен. И на счет сопровождения и на счет соседнего топика. Спасибо за поддержку! Не поддержку меня, а поддержку духа этого форума, в котором... ну не знаю... в котором не находят себе места "cabы" (не имею в виду конкретного человека, а в целом категорию людей, которым только надо всё на блюдечке, без лишних слов и бесплатно)...

Гео... Это... Женидьба отменяется... Мне моя дэвушка с моря звонила и обещала в угол за такие мысли поставить... :) Так что...

//млин... в данном моем посте один флейм... надеюсь простят...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216361
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне моя дэвушка с моря звонила и обещала в угол за такие мысли поставить...
И что ты там один будешь в углу делать в ожидании дэушки? Ты не отбрасывай так сразу выгодные предложения

в данном моем посте один флейм... надеюсь простят...
На 4-й странице, заработав жирного енота (он кстати не жирный, а полный), да еще в час ночи - можно и пофлеймить
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216363
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы... Не... от этого волосы на руках... и зрение падает
Пойду луче книжку почитаю... Седня пришел по почте Второй том Гетца про корпоративные приложения... Надо приобщаться к классике...
Ночи...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216471
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех :)
Работаит по-Нуф-Нуффски. :)

Нуф-Нуф, еще вопрос:
Такую базу с глобальными переменными можно хранить на сервере? Не будет ли затыков при нескольких подключениях, или ей лучше лежать на локальной машине?

2All
А что такое файл *.mda и как он создается?

Спасибо.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216478
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я за Нуф-Нуфа (он в углу стоит )
Хранить настоятельно рекомендуется локально

Работаит по-Нуф-Нуффски. :)
Это типа "по-стахановски"?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216615
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если таблички можно переприсоединить (и даже юзеру такую возможность дать), то при изменении пути к аксесовской базе придется перекомпилять приложение
References.Remove
References.AddFromFile
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216626
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ты хочешь сказать что после этого приложение останется в откомпилированном виде? И не надо перекомпилировать?
И такое прокатит в mde?
Не, не верю.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216930
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function test()
  Dim t As Integer
  
  t =  1 
  Do While References(t).Name <>  "glvars" 
    t = t +  1 
  Loop
  MsgBox glvars.mGlVars.UserNumber
  References.Remove References(t)
  References.AddFromFile  "h:\glvars.mde" 
End Function

прекрасно работает в mdb и говорит "не могу выполнить операцию" в mde.
Это неправильно. Что делать?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217048
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это неправильно. Что делать?

Почему неправильно? В mde ссылки не изменить.
Обычно лучшее - враг хорошего.
Ставить обработчики ошибок.
Public-переменными сильно не злоупотреблять
Для гарантии загрузку Public переменных делать в одной функции (вначале - проверку инициализации одной из них). И поставить эту функцию при открытии форм, в начале расчетов,... Ну пройтись по коду немного.
Ну или возращать значения этих переменных только через одну функцию с параметром
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217171
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказывается, если клиентский файл и файл *.md? лежат рядом, то их обпереносись, а ссылка останется. Все. Пользуюсь вариантом Нуф-Нуфа
(низкий поклон тебе, Нуф-Нуф). И расставляю везде обработчик ошибок.

Спасибо всем. Надеюсь, польза от этого топика была не только мне.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217184
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа жениться передумал? Решил поклонами обойтись?
(слышу крики "Все мужики сволочи! Сначала обещают, а потом... а потом...")
Нет уж, попал.. Обещал - женись.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217202
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот-вот

поосторожнее с обещаниями надо :)

а с обротчиками хорошо- всего-то за 2 дня убедили
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217208
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но круче всего попал Нуф.
Не хотел бы оказаться на его месте.
Приезжает его девушка с моря - а Нуф стоит в углу, и уже замужем

Поосторожнее надо будет с советами.. А то кто ж его знает, до чего может дойти радость вопрошающего от полученного ответа
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217213
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.никто не сказал, почему плохо хранить "глобальные" переменные в Public переменных экземпляра класса, чья переменная в свою очередь описана как глобальная (и сама рушится при ошибке - приводя к явной "пропаже" всех "глобальных" переменных - никакие процедуры уже не попользуют их сброшенные значения, поскольку нет их самих).

2. Путь до локальной бд с глобальными переменными, по технологии нуфа - такая же константа, как путь до локали с временными таблицами. если создавать такую "библиотеку" как .mdb то можно кодом (проекта, даже mde) ее и ее модули построить(вместе со всеми путями). хотя, наверное, не нужно - При запуске приложения легко проверить наличие (библиотеки) по пути, и выдачу сообщения о необходимости установки такой бд и перезапуске приложения.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217223
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 assa
По пунктам
1. А тебе намного легче станет от того, что программа на каждое твое телодвижение начнет выдавать "объектная переменная или переменная блока With не задана"? Мне например станет легче. Но только от сознания того, что рухнуть в ошибку - это лучше, чем использовать неправильные данные. А в общем и целом проблема решена не будет.

2. Путь до базы - константа, а до таблиц - нет.
Если создать такую библиотеку как mdb - ее нельзя будет подключить к mde
Программно модифицировать код - см. мои вопли выше. Не нужно это никому.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217282
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Рухнуть в ошибку - значит не пользовать неверных данных. Сообщение об ошибке - сигнал к перезапуску. Боремся то мы с тем, чтобы ЛЕВЫЙ код не подпортил данных из за левизны кода. эта задача решена. Правда я предчувствую на этом пути вероятные трудности (в силу особенностей работы с объектными переменными без "явной" их очитски), ну дык...

2. По поводу путей к таблицам не въехал.
А смысл замечания был в том, что проверку наличия файла и закрытие приложения /в случае отсутствия файла/ можно организовать, и это похоже снимает проблему перекомпиляции.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217300
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 assa
К последнему абзацу - уже так и сделал.

2Лох
А я что - я ничего, я завсегда от своих слов не отказываюсь. Я хоть щас готов

2ТатьянаТ
Дык, я с самого начала не был против обработчиков ошибок. И по возможности их использую. Единственное, что я вынес для себя по этому поводу - это необходимость какого-нить универсального же обработчика, который будет сливать коды, адреса и время возникновения ошибок (в случае их возникновения), и выдавать юзеру приличное сообщение с моим телефоном.

Есть еще вопрос, но его отдельным топиком сейчас.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217365
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вот линк на туда:\r
\r
/topic/41292
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217425
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гм... Очень странно:

Делаю выбранным способом ((с) Нуф), все вроде-бы хорошо: работает и в мдб, и в мде, при копировании двух расположенных рядом файлов (клиентская часть и "библиотека переменных") все в порядке - ошибок не генерицца, переменные из кода доступны, но... В этом случае, если из, скажем, запроса обратиться к функции, расположенной в "библиотечном" файле, Акцесс посылает.

С глобальными переменными все достаточно просто обходится. Храним в "библиотечном" файле переменные, а в местном модуле функции типа
Public Function GetMyVar() as typeVar
GetMyVar=MyVar
End Function

А делать библиотеку (в прямом смысле этого слова) функций в отдельном файле, получается, бессмысленно, если собираешься обращаться к ней из мде?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217502
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для Гео:
>Оказывается, если клиентский файл и файл *.md? лежат рядом, то их обпереносись, а ссылка останется.
Когда акс не может найти блиблиотеку по прописанному в ссылках пути, то он не будь дураком начинает искать ее в папке с основным проектом, затем в системных папках винды и еще в папках, прописанных в Автоэкзеке. Так что всё пральна. Типа, так и должно быть...

для Лоха:
>(слышу крики "Все мужики сволочи! Сначала обещают, а потом... а потом...")
Гы... Слышь, Лох, прочитал эту фразу и сразу автоматом мысль: "А чё сразу я?!!!"

для Асса:
Пользовать глобальные переменные для передачи параметров - дохлое (потенциально) дело, согласен. Но иногда бывают случаи, что приходится и такое делать...

для Всех:
Спасибо за признание "технологии нуфа" полезной (в целом) :)
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217506
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот жеж блин... Пока все топики за день просмотрел...
Гео... Твоего поста не видел, когда скинул свой предыдущий ответ... Щаз еще раз тебя прочитаю, протестирую кое-что, и может быть чё нить подскажу...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217521
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео, сорри, но сени посмотреть ничё не получится :( Хотя... А попробуй вызвать "библиотечную" функцию из "местной". Так же как и с переменной...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Местная функция:
Public Function GetMyVar() as typeVar
GetMyVar=ИмяБиблиотечногоПроекта.LibGetMyVar()
End Function 

Библиотечная функция:
Public Function LibGetMyVar() as typeVar 
LibGetMyVar=действия, возвращающие значение...
End Function
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217525
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот такой глупый вопрос: Public Property Get/Let/Set поверх локальных переменных не решают проблему?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217542
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для Павла:
Павел, не знаю (по поводу использования в контексте запросов)... Я в запросах никогда не вызывал "библиотечных" функций... Да и вообще, о библиотеках на базе Акса знаю уже достаточно много, но только в узкоспециализированном направлении, которе в данный момент находится в разработке. Сюда (в топик) встрял по простой причине: увидел, что недавно найденную "фичу" можно прикрутить к проекту автора топика для решения его вопроса.
Вот и всё... Да и вообще, если что, то я строитель :) //присоединяется к поздравлениям по поводу первой трехнулевки :)

для Гео:
Гео, кстати на счет библиотечных проектов... Если серьезно собираешься лепить библиотечную БД, а не пользовать сей механизм только для сабжектовых целей, то там продумать всё 100 раз надо, ибо запрещены в связанный VBA-проектах циклические ссылки... Вроде ничего страшного нет, но лично мне было не просто понять концепцию итоговой организации основного и библиотечного проектов.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32217560
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Нуф-Нуф
"Вызывать библиотечную функцию из местной" работает.

Гетц (т.1., гл. "Создание надстроек", разд. "Создание таблицы USysRegInfo") рекомендует пользоваться соответствующей таблицей и реестром виндов.

А по библиотеке, тут меня могут неправильно понять. Есть пара десятков небольших функций (типа преобразования числа в строку "рублей/доллара/штуки/наименований и пр."), которые уже с полгода нормально работают в куче различных задач, и думал перетащить их в отдельный файл, а оттуда юзать. До настоящей библиотеки еще дорасти надо, что, если свист на горе раком не встанет, думаю, будет через годик-другой.
...
Рейтинг: 0 / 0
100 сообщений из 100, показаны все 4 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глобальные переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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