Сервер терминал

Флейм. Только просьба - не материться! :)

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

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

Сервер терминал

Сообщение Yufil »

Вроде бы в последних версиях можно хранить параметры в реестре.

А я делал свои реализации GetIni и PutIni, поскольку
- ini-файл может писаться в каталог, куда пользователю нет доступа
- ini-файл размером более 30К (может быть, и меньше) часто ломается
- ini-файл может засоряться пустыми секциями и значениями

Дополнительно вносил поправки в параметры GetIni, чтобы окошки не убегали за край экрана ...
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Сервер терминал

Сообщение Губин Игорь »

Yufil писал(а): 24 Май 2017, 16:52А я делал свои реализации GetIni и PutIni, поскольку
В принципе, достаточно указать стандартным putini и getini свой файл. При этом надо учитывать, что данный файл не должен иметь расширение ini, во избежании всяческих блокировок службами безопасности виндов
Это я только кажусь дураком! На самом деле я полный идиот!
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Сервер терминал

Сообщение kreator »

Yufil писал(а): 24 Май 2017, 16:52- ini-файл может засоряться пустыми секциями и значениями
Наверно, вот это в основном. У SV в классе INIClass ошибка - не удаляет секции. Даже, если принудительно заставлять.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сервер терминал

Сообщение Yufil »

В принципе, достаточно указать стандартным putini и getini свой файл.
А в приложении штук 40 DLL. И все пишут в win.ini :)
После подмены ini-файл реально находился внутри %APPDATA%, но унаследованный код программы вообще не менялся.
А конфигурация в текстовом файле вообще ненадёжна (и небезопасна), отсюда следующий шаг - хранить конфигурации в нетекстовом файле, например, в tps. Зашифрованном. Собственно, никаких проблем...
У SV в классе INIClass ошибка - не удаляет секции. Даже, если принудительно заставлять
Iniclass обращается к GetIni - Putini, там ничего нового. Скорее всего, дальше происходит обращение к WinAPI.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Сервер терминал

Сообщение kreator »

Yufil писал(а): 25 Май 2017, 14:14 Iniclass обращается к GetIni - Putini, там ничего нового. Скорее всего, дальше происходит обращение к WinAPI.
Скорее всего никому в мире в голову не приходило проверять работу класса (видимо, поэтому до сих пор SV ошибку не исправило). Я столкнулся с проблемой, поэтому в курсе. Объясняю.
Чтобы удалить в ini-файле строчку в секции, нужно послать команду:

Код: Выделить всё

PUTINI(Sector, Name, , Filename)
Надеемся, что putini удалит и секцию, где не останется ничего. А в INIClass есть метод Remove, который вызывает putini для удаления строчки. И есть метод Update, в котором стоит проверка на пустое значение параметра Value, но при этом нет вызова метода Remove. Получается, чтобы всё работало как надо, нужно сначала делать проверку на пустое значение, а потом вызывать либо Update либо Remove. Совершенно не уверен, что программисты SV так делают. Иначе я бы не нарвался на ошибку. В общем я добавил в метод Update вызов Remove.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сервер терминал

Сообщение gopstop2007 »

Поднял тему, стал вести по файлам базы данных кларионовского приложения логи в tps. В обычном(не терминальном режиме) логи пишутся без проблем. Но вот в терминальном режиме проблемы. :(
Вхожу под админом на server 2012, запускаю программу вношу изменения в запись, есть лог.
При входе под пользователем на server 2012 через RDP(терминальный режим работы) в программу вношу изменения в запись, лога нет.
На сервере папки и файлы в которой находится программа и данные имеют полный доступ и все права для данной группы пользователей.
Но судя по всему чего то не хватает :)
Кто сталкивался, прошу помощи, спасибо заранее.
C10 ABC TPS
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Сервер терминал

Сообщение finsoftrz »

Под логами можно понимать что угодно... У меня лог - это tps-файл, который лежит отдельно от основной базы данных, там, где прописано в настройке. Могу предположить, что, если лог лежит отдельно от базы, то что-то с правами доступа к этому месту. Или некорректно определяется каталог лога. Вначале хорошо бы проконтролировать имя файла лога в процессе работы. И код ошибки после его открытия.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Сервер терминал

Сообщение RaFaeL »

А он у тебя не в VirtualStore ли?
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сервер терминал

Сообщение gopstop2007 »

finsoftrz писал(а): 01 Июль 2017, 20:09 Под логами можно понимать что угодно... У меня лог - это tps-файл, который лежит отдельно от основной базы данных, там
Тоже самое только лежит вместе с данными, в одной папке.
RaFaeL писал(а): 01 Июль 2017, 20:14 А он у тебя не в VirtualStore ли?
Не совсем понятен вопрос, при подключении по RDP у меня запускается приложение, без рабочего стола сервера. На стороне сервера настроен запуск приложения так
Вложения
log_1.png
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сервер терминал

Сообщение Admin »

Т.е. данные - TPS файлы в папке программы. Лог TPS файл в той же папке.
При запуске программы вы ее нормально открываете, видите и редактируете данные а в лог ничего не пишется?
Смахивает на ерунду. Если в лог не добавляются записи почему нет ошибок?
Или вы пишете в лог без проверок ошибки добавления записи?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сервер терминал

Сообщение gopstop2007 »

Разобрался, проблема была с переменными которые включали логирование. Заремил их - работает, чудеса.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сервер терминал

Сообщение gopstop2007 »

Admin писал(а): 02 Июль 2017, 2:34 Или вы пишете в лог без проверок ошибки добавления записи?
Процесс в терминальном режиме даже не доходил до записи лога, поэтому ошибки и не было.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
VWV
Бывалый
Сообщения: 60
Зарегистрирован: 12 Июнь 2015, 22:59
Откуда: Новороссийск
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Сервер терминал

Сообщение VWV »

Добрый день!

После переноса приложения на терминальный сервер, задача стала тормозить при совместной работе.
Exe, ini и tps файлы расположены в одном каталоге. Режим работы share. Крыж Defer opening files until accessed снят.
Подскажите, можно ли что-то доработать в задаче, для снятия тормозов?
Сам, уже не знаю где и что читать :-(

Clarion 10 ABC TPS
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Сервер терминал

Сообщение Constantine »

Можно попробовать следующее:
1. Перенести БД и приложения на SSD-диск с хорошими параметрами по Random Access.
2. Проверить, как работает сеть (нет ли "петель", "колец" и т.п.), померить пропускную способность и, если надо, оптимизировать.
VWV
Бывалый
Сообщения: 60
Зарегистрирован: 12 Июнь 2015, 22:59
Откуда: Новороссийск
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Сервер терминал

Сообщение VWV »

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