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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
Ветеран
Сообщения: 2901
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 05 Октябрь 2018, 15:07

Или, например, идентификатор пользователя, вошедшего в программу. Как он может быть с атрибутом thread?
We are hard at work… for you. :)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3598
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 05 Октябрь 2018, 16:17

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

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 724
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

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

Сообщение RaFaeL » 05 Октябрь 2018, 17:26

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

Yufil
Ветеран движения
Сообщения: 1011
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 05 Октябрь 2018, 23:14

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

kreator
Ветеран
Сообщения: 2901
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 06 Октябрь 2018, 14:37

Да зачем этот гемор? Есть В свойствах App есть кнопка Preserved, туда добавляем глобальные переменные. Класс пишет и читает эти глобальные переменные при инициализации dll (тоже соответствующий класс для этого).
We are hard at work… for you. :)

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 830
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 06 Октябрь 2018, 15:43

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

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3598
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 06 Октябрь 2018, 16:34

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

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 830
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 06 Октябрь 2018, 16:42

Сегодня бой Нурмагомедова и Макгрегора. Готовимся смотреть...
Рязань решает.

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 830
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 06 Октябрь 2018, 16:44

Игорь, я насчет царевны не совсем понял. То есть Вы тоже считываете настройки из базы данных в глобалы при входе в программу?
Рязань решает.

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2063
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

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

Сообщение Дед Пахом » 06 Октябрь 2018, 20:50

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

kreator
Ветеран
Сообщения: 2901
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 08 Октябрь 2018, 10:17

Для каждого пользователя храните свои настройки в базе? Координаты окон тоже?
We are hard at work… for you. :)

Yufil
Ветеран движения
Сообщения: 1011
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 08 Октябрь 2018, 11:24

Ага... Координаты окон и прочие локальные настройки для оператора ( например, настройки для отчётов), в унаследованном коде из сотен процедур, где они просто сохраняются по PutIni ....

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

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 830
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz » 08 Октябрь 2018, 11:52

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

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 724
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

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

Сообщение RaFaeL » 08 Октябрь 2018, 14:36

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

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3598
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

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

Сообщение Игорь Столяров » 08 Октябрь 2018, 15:07

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

Ответить