Страница 2 из 2

Риторический вопрос

Добавлено: 05 Октябрь 2018, 15:07
kreator
Или, например, идентификатор пользователя, вошедшего в программу. Как он может быть с атрибутом thread?

Риторический вопрос

Добавлено: 05 Октябрь 2018, 16:17
Игорь Столяров
kreator писал(а):
05 Октябрь 2018, 15:07
Как он может быть с атрибутом thread?
Легко. Структура с настройками и правами пользователя инициализируется в AppFrame (упрощённо) и далее передаётся как параметр в запускаемые потоки. Внутри потока - структура передаётся как указатель. Так решается другая проблема - все окна, запускаемые внутри потока работают с одинаковыми настройками (на момент запуска потока).
kreator писал(а):
05 Октябрь 2018, 15:02
По-моему, это чушь.
Не совсем. В ABC есть даже специальный класс семафоров для решения этого вопроса (совместная работа с Global Data из разных потоков).

Риторический вопрос

Добавлено: 05 Октябрь 2018, 17:26
RaFaeL
kreator писал(а):
05 Октябрь 2018, 15:02
По-моему, это чушь. А как вы храните глобальные настройки? Каждая процедура читает из ini-файла, при выходе записывает в ini-файл?
Мы в базе храним, процедура собственно при открытии читает из базы. Избавляет от необходимости добавлять глобальные переменные на каждый чих

Риторический вопрос

Добавлено: 05 Октябрь 2018, 23:14
Yufil
Нафиг... Пишутся две Source-процедуры - GetParameter и PutParameter, они пишут-читают статическую очередь, описанную в том же модуле, что и процедуры. И можно хранить сколько угодно параметров, не меняя Словарь.

Риторический вопрос

Добавлено: 06 Октябрь 2018, 14:37
kreator
Да зачем этот гемор? Есть В свойствах App есть кнопка Preserved, туда добавляем глобальные переменные. Класс пишет и читает эти глобальные переменные при инициализации dll (тоже соответствующий класс для этого).

Риторический вопрос

Добавлено: 06 Октябрь 2018, 15:43
finsoftrz
Нафиг... :-) В глобалах только некоторые системные режимы (реквизиты подключения, с каким форматом базы работаем и т.п.). Остальное читаем из базы данных по мере необходимости.

Риторический вопрос

Добавлено: 06 Октябрь 2018, 16:34
Игорь Столяров
finsoftrz писал(а):
06 Октябрь 2018, 15:43
Остальное читаем из базы данных по мере необходимости.
Наверно хорошо, когда сам себе режиссёр … ;)
А нам, царевнам, жить приходится в неволе. Что дали - то и пилим. :)

Риторический вопрос

Добавлено: 06 Октябрь 2018, 16:42
finsoftrz
Сегодня бой Нурмагомедова и Макгрегора. Готовимся смотреть...

Риторический вопрос

Добавлено: 06 Октябрь 2018, 16:44
finsoftrz
Игорь, я насчет царевны не совсем понял. То есть Вы тоже считываете настройки из базы данных в глобалы при входе в программу?

Риторический вопрос

Добавлено: 06 Октябрь 2018, 20:50
Дед Пахом
finsoftrz писал(а):
06 Октябрь 2018, 16:42
Сегодня бой Нурмагомедова и Макгрегора. Готовимся смотреть...
Я пожалуй завтра посмотрю бой Аленичева и Карреры.

Риторический вопрос

Добавлено: 08 Октябрь 2018, 10:17
kreator
Для каждого пользователя храните свои настройки в базе? Координаты окон тоже?

Риторический вопрос

Добавлено: 08 Октябрь 2018, 11:24
Yufil
Ага... Координаты окон и прочие локальные настройки для оператора ( например, настройки для отчётов), в унаследованном коде из сотен процедур, где они просто сохраняются по PutIni ....

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

Риторический вопрос

Добавлено: 08 Октябрь 2018, 11:52
finsoftrz
Дед Пахом писал(а):
06 Октябрь 2018, 20:50
finsoftrz писал(а):
06 Октябрь 2018, 16:42
Сегодня бой Нурмагомедова и Макгрегора. Готовимся смотреть...
Я пожалуй завтра посмотрю бой Аленичева и Карреры.
Бой неплохой вышел. Хотя видно, что в одни ворота. Макгрегор выглядел плохо подготовленным. Видимо, 2 летний перерыв сказался. Посмотреть стоит. Сейчас больше мусолят то, что произошло после боя. Причем видно, что явно заказная волна против Нурмагомедова. Кто не в курсе, Нурмагомедов "задушил" Макгрегора в 4 раунде (из 5 запланированных). После этого, в ответ на оскорбления, которые выкрикнул из зала один из тренеров Макгрегора, Нурмагомедов выпрыгнул из клетки вперед ногами (надо видеть это фото) и пошел с ним в рукопашную. К слову, обидчик там тоже не из простых, с черным поясом по джиу джитсу. После этого в самой клетке повыпрыгивали члены обоих команд и пошли стенка на стенку. Охрана их разогнать не могла, так как в обоих командах люди, скажем так, "подготовленные" (с разными поясами и титулами). Разнять удалось после того, как вмешалась полиция. Самому Макгрегору там тоже прилетело...
Нурмагомедов после этого инцидента извинился за свою несдержанность. Чтобы понять, что произошло, надо посмотреть, в частности, их пресс конференцию перед боем. Макгрегор явно перешел черту. Говорить дагестанцу, что он осел и все его родственники бараны... Плюс приплести религию и политику. Я еще удивляюсь, что Нурмагомедов так долго терпел. Сейчас говорят, ну, мол, это шоу, это все не всерьез, для раскручивания боя. Но это же дагестанцы, у них вопросы семьи и религии очень болезненно воспринимаются.

Риторический вопрос

Добавлено: 08 Октябрь 2018, 14:36
RaFaeL
Игорь Столяров писал(а):
06 Октябрь 2018, 16:34
А нам, царевнам, жить приходится в неволе. Что дали - то и пилим.
Кто мешает взять и перепилить?

Риторический вопрос

Добавлено: 08 Октябрь 2018, 15:07
Игорь Столяров
RaFaeL писал(а):
08 Октябрь 2018, 14:36
Кто мешает взять и перепилить?
Человеческое непонимание и несправедливое налогообложение. :)
Понимаете, ну вот есть у людей написанная где-то и кем-то система на 1000 процедур. Всё с ней хорошо и она работает.
Они обращаются, добавить пару полей в карточку с выбором из справочников и отчёт. Работы, ну на 3-4 тр.
Я же им не скажу: А давайте я Вам заодно и всю систему настроек за месяц перефигачу ? ;)