Jump to content
uniGUI Discussion Forums

zilav

uniGUI Subscriber
  • Content Count

    458
  • Joined

  • Last visited

  • Days Won

    33

zilav last won the day on October 8 2017

zilav had the most liked content!

Community Reputation

64 Excellent

About zilav

  • Rank
    Advanced Member
  1. zilav

    Обновление строк в гриде

    Шерзод, огромное спасибо, попробую
  2. Добрый день Подскажите пожалуйста, не появилось ли какой-то простого способа отрефрешить содержимое грида с датасета на сервере, при этом само переоткрытие датасете не требуется. Т.е в датасете на сервере уже есть новые данные, но грид отображает старые. Переоткрытие датасета так себе вариант, зачастую при тяжелом запросе для рефреша одной строки все может вылиться в секунды ожидания при рефреше датасета полностью, вот и хочется как-то сказать гриду чтобы он обновил с сервера только текущую строку, а в идеале набор заданных строк.
  3. zilav

    Не работает приложение x64

    Под IIS гиперсервер не запускал, но как standalone работает без каких либо проблем. Пользователей не 2 тысячи, но прилично. Отладка на гиперсервере, Вы наверное шутите. Да и почему память у Вас течет неясно. Рекомендую для начала собрать ваше приложение как standalone и прогнать стресстестирование с логированием на утечки памяти. На сервере никакой отладки быть не должно, максимум EurekaLog. ЕЕ подключение к Unigui описано в документации.
  4. zilav

    IIS Експорт в Excel

    Существует масса компонентов для генерации xls без использования OLE и не требующие установленного офиса. Мой Вам совет, воспользуйтесь ими. У вас же четко написано что вызывается метод ShowModal который блокирует работу приложения. А уж кто там у Вас его вызывает отсюда не видно.
  5. Ну если все по серьезному и с масштабируемостью то наверное стоит смотреть в сторону Azure. Плюс 25к пользователей это всего в системе или одновременно работающих? Просто я бы на вашем месте прикинул по памяти столько у вас занимает одна сессия у пользователя, отсюда можно примерно прикинуть объем оперативки. По процессору сложно сказать, нагрузка она разная бывает, но в случае того же Azure довольно просто добавить еще ресурсов при растущей нагрузке, все будет упираться лишь в количество денег.
  6. zilav

    UniGui + SQLite

    Если такие сомнения то лучше unidac от них же. Скажем так, если хочется по взрослому то FB, все же полный спектр технологий, у того же MySQL все попроще, возможно что сейчас все изменилось, но когда я смотрел на хранимки от MySQL ничего кроме недоумения не испытывал. Ну а если совсем по серьезному и с прицелом на будущее, то MSSQL в редакции express или developer.
  7. zilav

    UniGui + SQLite

    Не стоит использовать SQLite, он все же не настолько адаптирован под работу в многопоточном режиме. Не дай бог нагрузка увеличится, ваш сервер просто будет стоять колом. Посмотрите MySQL, FB, они лучше подойдут для использования в системе где более 1 пользователя.
  8. demos -> layouts (fit)
  9. zilav

    All about the Badge

    copy BadgeText.js into debug dir
  10. zilav

    Difference between TUniTimer and TUniThreadTimer

    You can. Get the data and update tree in TUniTimer event, it is called from client but executed on the server.
  11. zilav

    Database locks when application crashes

    SET XACT_ABORT ON By default lost connection to SQL server does NOT considered an error to rollback open transactions and so affected tables stay locked.
  12. zilav

    filter grid

    First, don't use direct queries especially in SQL Server. Create stored procedure with filtering parameters, your Delphi client will be calling it exec sp_proc1 :PRO_RAZAO_SOCIAL, :LOG_UF, :LOG_CIDADE Test in Manager Studio with some parameters and make sure it returns data, then pass the same params from Delphi. Your issue is probably caused by wrong parameters you are trying to filter with, not because of UniGui. Since you are using LIKE, maybe you forgot to prepend or append % depeding on how you want to match the data.
  13. zilav

    UniDBGrid row selection / grouped

    Start UniTimer after opening dataset with 10ms delay which will do Locate. But yes, it is an ungly workaround. Would like UniGui to work properly with Locate in grouped grids too.
  14. zilav

    Design question

    Always do fullscreen in mfPage mode. World is moving to 4k resolutions and your 2/3 design makes no sense, on 4k display your grid will become large anyway.
  15. zilav

    How to make three tier system

    1. That's my exact approach. All logic is performed in stored procedures on server including verification of input parameters (user's input), UniGUI app is just an empty UI shell calling stored procs and catching returned exceptions to show error messages to the users, it doesn't have a single SQL request. Since UniGUI is stateful and you can't update your code without restarting it and thus interrupting work of all currently connected users, this is the best approach as it allows a lot of flexibility and seemless updating just by working with DB server. 2. "Client memory" doesn't exist in UniGUI, all sessions and data are stored in the server's memory and web browser is simply a canvas to display the current state like RDP. MainModule is per session (user), dynamically created when each user connects and destroyed when disconnects. ServerModule is a single instance created when you launch UniGUI app. Never put your data on ServerModule or you'll have concurrency issues.
×