Jump to content

Skyp

uniGUI Subscriber
  • Posts

    75
  • Joined

  • Last visited

Posts posted by Skyp

  1. On 6/2/2023 at 11:15 AM, Haklin0816 said:

    Действително, это нехорошо, эсли это невозмого? Готовы ли вы в России?

    Sales to Russia are carried out both through a softline distributor(We bought)

    , and it is possible to pay through some banks with the provision of a purchase order number.

  2. On 6/22/2023 at 2:29 PM, Jim Sirikolkarn said:

    UniGui Application somtime send session id in GET http request.

    For example in Demo/Desktop/Grid-ActionColumn/gaction.dproj  when app start, in Chrome Network Tab will see:

    http://localhost:8077/HandleEvent?IsEvent=1&Obj=O13&Evt=data&_S_ID=uBPn5su9LR10CD0C5AA&_dc=1687432446596&options=1&page=1&start=0&limit=25

    I got comment from my user that this could have security problem, they recommend that session id should be in POST body instead.

    I also notice that almost all "HandleEvent" are using POST except some using GET like this one. I guess that it may come from UniDBGrid.

     

    Please advice what can be a solution for this problem.

     

    Thanks,

    Jim Sirikolakarn

    Good afternoon.

    The client also has an id in cookies, the body of POST requests is also easy to see (any sniffer or browser (dev tool on client))...

    I wonder which specific security case will allow you to use the session id?

     

    How do you propose to maintain a session without having an unambiguous identifier on the client side ?

    You can additionally implement OpenID .. example:

    https://github.com/fernandolamp/DelphiKeycloak and js

    and periodically use  refreshtoken, but this will create an additional load. (At the moment we use this method).

  3. And why did you enable UniMainModule.EnableSynchronousOperations?(You have enabled synchronous operation)

    It seems that in the web this is pseudo-asynchrony under the hood (there is still a certain queue of requests), please correct if it's not me wrong.

     

    You can prepare the data on the backend and output it to the grid ready-made (calculated, aggregated, etc.) from Delphi, you have no restrictions on multithreading.

  4. On 8/18/2023 at 2:47 PM, Gustavo_GRSoft said:

    hello everyone, is there any way to export a column that is invisible using the unidbgrid export?

    Extjs is a client framework and exporter works exclusively with it (unloads store).

    As an alternative:

    You can generate a file on the server from TDataSet, for this you can use working with ole in windows or the libreoffice api under Linux.

    And you can also use commercial components such as TMS flexcell(for example).. After forming the file, send it to the client using unisession.sendfile.

  5. Similarly, there are problems with render on the server... 

    This creates additional work with ExtJS - frames have to be converted to the original ExtJS...and for the rest, use the Unigui communication model while losing some of the framework feature that were convenient and winning.

    • Like 1
  6. 11 minutes ago, Sherzod said:

    Hello, 

    Why this happens, you can google it. And it does not depend on uniGUI. In such cases, it is better to use, for example, one archived file...

    The web is full of contradictions and limitations. Thanks - I found it. Downloading ZIP archives we have separately=)

    https://support.google.com/accounts/thread/97658686/google-takeout-maximum-amount-of-tries-is-now-preventing-me-from-downloading-my-photos?hl=en

    • Thanks 1
  7. Hi.

    I can't upload a plural number of files - the upload code on the backend works correctly, but it is killed by a function on JS:

    For example, I am trying to issue 7 files for downloading..

    image.png.98e75dc9d1bd509ad1f1e75e74a9eaab.png

    Everything is "OK" here - 7 times this code is executed perfectly.

    But inside Unisession.sendStream, the _sdl_ function is called, the number of files is cut to 5 in it.

    image.png.dd1d6bc5273181820fa32346e6a2b80a.png

    The _sdl_ function removes elements from the array...

    As a result, instead of 7 files, only 5 are uploaded..

    image.png.ddcb8cbfcd135c61b1c871ee3b168ad1.png

    How can I increase this limit (without changing the source code of the framework)? 

    V: pro 1564

  8.  

    52 minutes ago, Sherzod said:

    Да.

    Со Scroll это не помогло - он все равно скачет..

    Если сможете подсказать как в JS получить позицию Scroll и выставить - я могу попробовать "вручную" это ловить и на Refresh или другое событие выставлять? 

  9. 3 hours ago, Sherzod said:

    Так и должно быть?:

    image.thumb.png.fa8b72e9379e1fd09d32ee717d8a703c.png

    Да, конечно - это путь компонента в интерфейсе, это модель интерфейса RTTI из реального проекта. 

    Функционал "прав" пользователя. На onAfterEdit отрабатывает логика - Если мы даём права на родительский компонент, то автоматический становятся доступны все дочерние компоненты - а когда я изменяю интерфейс у пользователя при авторизации за счёт свойств родительского компонента обновляются права на новые компоненты - каскадом, но это не здесь.   А ID не может быть строкой?

  10. 47 minutes ago, Sherzod said:

    У меня вылетает следующая ошибка:

    image.png.f6df36da9206f368249e4a90445413ab.png

    На самом деле это не связанные вещи и можно написать такую заглушку: 

    image.thumb.png.b9797d8eedb1e3ba274b32a3a5c76d36.png

    Это ничего не меняет - как VertScrollBar себя вел так и ведет... 

  11. 26 minutes ago, Sherzod said:

    У мения видэт сладущая ошибка :

    image.png.f6df36da9206f368249e4a90445413ab.png

    Эта ошибка глушится в модуле unidbcheckbox - я его специально приложил к проекту потому как редактирование на самом деле в этот момент уже возможно и это какой-то глюк который возникает кстати только unidbcheckbox - к примеру у DBEdit его нет т.к memtable уже не в статусе Edit находится на момент AfterEdit. 

    image.thumb.png.5f5f9c256f01c6a16376bd0b5c5231ef.png

    Я ранее об этой проблеме писал т.к дефакто afterEdit работает уже с закрытым на редактирование DataSet - т.е если Вы её заглушите вставка пройдёт и все данные будут вставлены, компоненты DAC работают на AfterEdit и позволяют обновить тот-же DataSet, как это ошибка в CheckBox возникает - не понятно. 

     

     

  12. 53 минуты назад Шерзод сказал:

    Все новые и другие клиенты ClientDataSet?

    Ex2.zip, - FireDac demo --- вроде все модули unidac убрал и переписал немного работу с LocalSQL на aAfterEdit. 

    Файл с данными в Win32 - testdatafdd.FDS. 

    Ошибка в любом случае осталась прежней. Посмотрите - может быть проблема в дополнительной логики на onAfterEdit (мне в любом случае нужно каскадное обновление=()?

  13. 10 hours ago, Sherzod said:

    Привет @Skyp

    Этот пост может Вам помочь, попробуйте.

    ---

    Hello,

    This post may help you, try.

     

    Проблема в том что Locate - отрабатывает прекрасно, и нужная запись в DBGrid выделена, но ScrollBar уезжает вниз, а мне хотелось-бы чтобы он был пропорционален строке выбранной в locate... кейс который Вы приложили не помогает, Scroll не возвращается.

     

  14. 14 hours ago, Sherzod said:

    Hello @Skyp

    Not enough details in my opinion. What needs to be done to reproduce this case?

    Привет. 

    Если совсем  коротко (для простоты понимания) - я не могу найти  способ получить текущую позицию и установить новую позицию VertScrollBar у UniDBTreeGrid, как я могу это сделать? К примеру установить новую позицию сразу после обновления TDataSet (привязанного к UniDBTreeGrid (UniDBTreeGrid-Datasource-Dataset))?

    UniDbTG.VertScrollBar = nil и когда я пытаюсь обратиться к свойству Position то получаю ошибку.

    ---

    Hello,

    In short(for simplicity), I have some problems. Firstly, I can't find a way to get the current position. Secondly, I cannot set a new VertScrollBar position from UniDBTreeGrid. How can I do it? For example, how can I set a new position after updating TDataSet (bind with UniDBTreeGrid (UniDBTreeGrid-Datasource-Dataset))?

    UniDbTG.VertScrollBar = nil and if I try to access the Position property then I get an error.

     

  15. For Linux - HyperServer StandAlone. If anyone is looking for the collected libraries to run hyper_server under Linux - apply the lib.zip them - version 1.0.2k (copy and give the rights as written Scott)

    These are OpenSSL files with CentOS7 - just put them next to your hyper_server

    We use a certificate:

    image.png.8d94494f5b98dc581bb0255e10c6c084.png

    image.png.cab4e009a37f9f8e34f5d0be1a846ccd.png

    The configuration is suitable for us for this:

    object TUniHyperSSL
      SSL.Enabled = True
      SSL.SSLOptions.RootCertFile = 'root.pem'
      SSL.SSLOptions.CertFile = 'cert.pem'
      SSL.SSLOptions.KeyFile = 'key.pem'
      SSL.SSLOptions.Method = sslvSSLv23
      SSL.SSLOptions.SSLVersions = [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2]
      SSL.SSLOptions.Mode = sslmBoth
      SSL.SSLOptions.VerifyMode = []
      SSL.SSLOptions.VerifyDepth = 0
      SSL.SSLPassword = 'mypassword'
      SSL.SSLPort = 0
    end
     

    Lib.zip

    • Like 1
×
×
  • Create New...