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

Флейм. Только просьба - не материться! :)
Yufil
Ветеран движения
Сообщения: 1112
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 24 Май 2017, 16:52

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

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

Дополнительно вносил поправки в параметры GetIni, чтобы окошки не убегали за край экрана ...

Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 1265
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 25 Май 2017, 13:33

Yufil писал(а):
24 Май 2017, 16:52
А я делал свои реализации GetIni и PutIni, поскольку
В принципе, достаточно указать стандартным putini и getini свой файл. При этом надо учитывать, что данный файл не должен иметь расширение ini, во избежании всяческих блокировок службами безопасности виндов
Это я только кажусь дураком! На самом деле я полный идиот!

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

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

Сообщение kreator » 25 Май 2017, 13:56

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

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

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

Сообщение Yufil » 25 Май 2017, 14:14

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

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

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

Сообщение kreator » 25 Май 2017, 14:54

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
✯ Ветеран ✯
Сообщения: 1230
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 01 Июль 2017, 19:23

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

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

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

Сообщение finsoftrz » 01 Июль 2017, 20:09

Под логами можно понимать что угодно... У меня лог - это tps-файл, который лежит отдельно от основной базы данных, там, где прописано в настройке. Могу предположить, что, если лог лежит отдельно от базы, то что-то с правами доступа к этому месту. Или некорректно определяется каталог лога. Вначале хорошо бы проконтролировать имя файла лога в процессе работы. И код ошибки после его открытия.
Рязань решает.

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

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

Сообщение RaFaeL » 01 Июль 2017, 20:14

А он у тебя не в VirtualStore ли?

gopstop2007
✯ Ветеран ✯
Сообщения: 1230
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 01 Июль 2017, 22:09

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

Аватара пользователя
Admin
Администратор
Сообщения: 3420
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin » 02 Июль 2017, 2:34

Т.е. данные - TPS файлы в папке программы. Лог TPS файл в той же папке.
При запуске программы вы ее нормально открываете, видите и редактируете данные а в лог ничего не пишется?
Смахивает на ерунду. Если в лог не добавляются записи почему нет ошибок?
Или вы пишете в лог без проверок ошибки добавления записи?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

gopstop2007
✯ Ветеран ✯
Сообщения: 1230
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 02 Июль 2017, 9:08

Разобрался, проблема была с переменными которые включали логирование. Заремил их - работает, чудеса.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

gopstop2007
✯ Ветеран ✯
Сообщения: 1230
Зарегистрирован: 25 Март 2009, 21:55

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

Сообщение gopstop2007 » 02 Июль 2017, 9:15

Admin писал(а):
02 Июль 2017, 2:34
Или вы пишете в лог без проверок ошибки добавления записи?
Процесс в терминальном режиме даже не доходил до записи лога, поэтому ошибки и не было.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

VWV
Новичок
Сообщения: 20
Зарегистрирован: 12 Июнь 2015, 22:59
Откуда: Новороссийск

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

Сообщение VWV » 14 Март 2019, 10:12

Добрый день!

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

Clarion 10 ABC TPS

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

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

Сообщение Constantine » 14 Март 2019, 10:25

Можно попробовать следующее:
1. Перенести БД и приложения на SSD-диск с хорошими параметрами по Random Access.
2. Проверить, как работает сеть (нет ли "петель", "колец" и т.п.), померить пропускную способность и, если надо, оптимизировать.

VWV
Новичок
Сообщения: 20
Зарегистрирован: 12 Июнь 2015, 22:59
Откуда: Новороссийск

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

Сообщение VWV » 14 Март 2019, 10:31

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

Ответить