|
|
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
А по-моему, хранить эти переменные в таблице из одной строки-извращение. Во-первых - не красиво и смотреть неудобно - длинная такая глиста. Во вторых, если надо добавить новую переменную, надо добавлять новое поле, что, по моему, очень плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:43 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
2wara Ну, в общем, да. Если в таблице, то, как справедливо сказал Лох, ее придется каждый раз открывать, а не хранить в переменной, иначе оная переменная сама станет глобальной и к тому же объектной. Даже если хранить их скажем, в списке, а не в таблице, то каждая из функций должна сначала найти нужную строку. А в случае с полями в форме, работа по поиску нужного поля полностью лежит на самом Аксесе. Кроме того, процедура ДобавитьПеременную() я включу в состав ИзменитьПеременную(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:44 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
А для чего Вам бешеная скорость операций с эими переменными, если не секрет. У меня они используютя обычно для "разветвления вариантов" в интерфейсе, и никаких требований к скорости нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:47 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Опять же, а если они вдруг попадают в запрос или в цикл? И вообще, хуже не будет, если они будут работать по возможности быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:49 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
а извращение с формой открытой в конструкторе лучше? или просто так лишнюю форму держать открытой это хорошо? сколько у тебя этих переменных? если придумаешь что-то получше поделись с нами результатом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:51 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
GEO Ну и на каком варианте Вы остановились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:52 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
ТатьянаТ, Я совершенно не хотел Вас обидеть, просто я имел в виду, что лично мне этот вариант не по душе. Хотя это дело вкуса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:54 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Б-г мой,развели дискуссию на 3 листа. Geo,кого ты хочешь обмануть?Сам себя? Прямо как в том анекдоте: "А я милиционера обманул.Спрятал,но не перестал..." Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 17:58 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
1) а я и не думала обижаться 2) советы вещь хорошая, но реально на самом деле мы не знаем всех нюансов проэкта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 18:00 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
2ТатьянаТ > а извращение с формой открытой в конструкторе лучше? не лучше, но, на мой взгляд, будет работать быстрее. > или просто так лишнюю форму держать открытой это хорошо? совсем плохо, ну и что? Она скрыта, т.е. открылась с помощью DoCmd.Openform ... acHidden, а пункт меню "Окно-отобразить" отсутствует. > сколько у тебя этих переменных? Не знаю и знать не хочу, но, думаю, меньше, чем предел кол-ва полей в форме или таблице. 2wara Я еще дома сейчас все это маленьго обмозгую, потом скажу. Хочется переменные, которые возможно хранить все-таки в памяти, а при их обнулении восстанавливать их из сохраненного вида, как выше говорил Владимир Саныч, Senin Viktor и пр. М.б. при чтении буду проверять переменную в памяти (скажем, в массиве), если она пуста, делать восстановление из формы или таблицы, а при записи класть новое значение и в память, и в "хранилище". Т.к. запись происходит значительно реже, чем чтение, то будет, наверное, нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 18:01 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
2VIG :)) Вот тебе и раз. Докатились. "Не используй глобальные переменные". Эту рекомендацию еще и в ФАК и в мелкопрог - "Access не имеет средств для работы с глобальными переменными". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 18:04 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
ТатьянаТ, Ну да, вот только вопрос о том, где же все-таки грамотно держать эти глобальные переменные (или програмно изменяемые константы?) так и остался открытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 18:05 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
A кто такой Аксесс, я не знаю никакого Аксесса... (Б.Гейт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 18:11 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
имхо: Если что-то нужно для долгого хранения - в течении всего сеанса или т.п. - ползуйся временной таблой. Оно и запросы строить легче. А если что-то надо быстро передать в обработчик и там, не отходя от кассы, наобрабатываться вдребезги, - то тут всякий раз в таблицу лазить незачем, и переменная не повредит... но вот тут-то можно и нужно тщательно обработчики заточить. Мест таких немного. Тогда соглашение компактного использования переменной - "передались, шустро попользовали и не помним, что такие есть" - гарантирует от неактуальных данных. (при наличии именно в этих местах всех обработчиков) Кстати, если хранить некие данные в свойствах (форм), а сами формы открывать как экземпляры, то сбрасывание их переменных (в описвающих модулях) приведет к закрытию этих форм. Т.ч. попользоваться "неверными" свойствами умерших с ними форм не удастся. Следовательно: ___ Идея: Можно к примеру так заставку открыть (экземпляром). Как нет заставки - так нет и всех ее свойств. Действительно глобальной объявить переменную этой "заставки". Как она схлопнется - все обращения к прочим "глобальным" - т.е. в этом случае свойствам (или пабликам) "заставки" будут давать ашипку. Думается. (типа err=91 "Объектная переменная или переменная блока With не задана"). ...Остальные формы можно открывать "классически" (если ломает, или приложение старое/стандартное). Вот вам и "грамотное" расположение переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 19:30 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю Не могу не согласиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 19:50 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
сорри... дубль два... Драсте... Какие интересные темы до трех страниц взлетают, пока меня нет :( Гео и все, глобальные переменные можно организовать так, что они никогда сбрасываться не будут! Сам только недавно эту тему просек и уже успешно ее юзаю :) Чтобы переменные не сбрасывались после "остановки" кода проекта их не надо хранить ни в формах, ни в таблицах, а в... обычных Глобальных переменных, но тока расположенных в других проектах Access :) Не торопитесь звать меня уродом! Просто делаем: Раз: открываем новую БД Аксесс и создаем в ней модуль; Два: в модуле объявляем глобальные переменные; Три: в ссылках основного (рабочего) проекта указываем ссылку на данную БД; Четыре: юзаем глобальные переменные данной библиотечной БД как собственные; Пять: теперь хоть заостанавливайся рабочий проект - ни одна переменная в библиотечном проекте не потеряет своего значения; Шесть: НИКАКОГО (во всяком случае безответственного) кода в библиотечной БД, иначе останов выполнения кода в Библиотечной БД приведет к потере наших нетеряемых переменных; Семь: на-сла-жда-ешься :) Примечание: под термином "проект" подразумевается не adp-проект, а VBA-проект... Кстати... Надо статейку am-у забацать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 20:53 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
1. При хранении переменных в полях формы: а) все значения будут строковыми, т.к. и DefaultValue, и Tag - строковые. б) это будет работать только для mdb, что меня, в принципе, устраивает, а общественность - ? 2. Чтение содержимого поля формы занимает примерно вдвое меньше времени, чем пробежаться по 100 строкам массива 2х400, т.е. хранить переменные в памяти бессмысленно. 3. Если пользоваться таблицей или списком в качестве хранилища, то пп. 1б и 2 теряют смысл. А если использовать вариант, предложенный ТатьянойТ, то и п. 1а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 21:04 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
2Нуф-Нуф Я б на тебе женился! :)) Блин, а ведь я уже все почти написал, млин. :) Сегодня уже делать ничего не буду, а завтра попробую по-твоему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 21:09 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
2Нуф. Пробовать все равно не буду, а не думать не могу. А ента md? в панели задачь или еще где видна не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 21:15 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Гео, единственное, где она будет видна, так это в VBA-проводнике (где перечисляются все модули, модули классов и т.п.). Т.е. она (БД) будет светиться там как проект с присвоенным ему тобой именем, при этом из самой рабочей БД ничего поменять в присоединенной БД будет невозможно. Вернее возможно, но сохранить внесенные в присоединенную БД изменения не получится. Только открывать специально (отдельно) эту библиотечную БД и редактировать... Еее можно сделать как mdb, так и mde... На вкус... И Гео, это... Давай дождемся мнения общественности... А тогда уже посмотрим... Может я и соглашсь (на счет женился) //за%бало все чёта... хочет поменять цвет волос, работу, пол и место проживания... А московская область это есть хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 21:29 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
често говоря всё это (глобальные переменные: пол, место жительства,...) конечно хорошо но за всю свою практику ни разу такого не требовалось. обычно при отладке куска до которого нужно сделать кучу действий - вылетает ну очень обидно. а глобальные переменные хранить не было нужды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 21:54 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :) >често говоря всё это (глобальные переменные: пол, место жительства,...) конечно хорошо но за всю свою практику ни разу такого не требовалось. Вадя, ну если честно говоря, то у меня, как и у большинства здесь высказавшихся, во всех процедурах и функциях обработчики стоят. А там где не стоят обработчики ошибок (специально, для генерации ошибки в вызвавшем коде) стоят комментарии, типа обработчик не добавлен сознательно... И тем не менее, топик всего лишь за ПОЛ-ДНЯ вырос до ТРЕХ страниц! Это говорит об интересе народа к теме... Вообщем-то я предпологал, что реакция Гео будет богатой, а реакция All - скупой... Ну не вызывает мой ник (или я сам) почему-то уважения, в чём сегодня еще раз убедился в соседнем топике, поэтому на похвалы или присуждение енотов со стороны All не надеялся, да и не нуждался, ибо человек, которому по ряду причин (правильных или ошибочных) было нужно именно это решение я помог, как смог. Всё остальное - ерунда... Хотя, парочку енотов я сам себе пририсую на мониторке :) //остался доволен собой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 23:07 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Нуф-Нуф>Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :) ---------- Горько!...Горько!...Горько! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 23:28 |
|
||
|
Глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Нуф, я жениться на тебе не буду (религия не позволяет), но енота тебе нарисую. Размером с кабана Хорошее у тебя решение. Рву волосы (в том числе и на голове). Как мне самому этакая идея в голову не пришла... Адын только минус укажу (чтоб ты не переусердствовал в рисовании енотов себе на мониторе ) С подключенными через ссылки аксесовские библиотеки усложняется сопровождение програмного продухта. Если таблички можно переприсоединить (и даже юзеру такую возможность дать), то при изменении пути к аксесовской базе придется перекомпилять приложение. А вот на это я уже пойти не могу З.Ы. А на соседний топик можешь наплевать. Как тебе в еще одном соседнем топике сказали - надо сразу на хуй посылать, а не обиды разводить. Это каб из себя обиженного умеет корчить, а у тебя это плохо получается И вообще радуйся. Типа ты умеешь не только читать, но и думать. А чудак из соседнего топика не умеете не только думать, но и читать (то что ему русским по белому написали). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 23:29 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32216326&tid=1680319]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 399ms |

| 0 / 0 |
