Jump to content

picyka

uniGUI Subscriber
  • Posts

    1079
  • Joined

  • Last visited

  • Days Won

    34

Posts posted by picyka

  1. Em 07/09/2022 às 11:18, Harry Rogers disse:

    Todo o nosso trabalho é feito do lado do servidor - por isso é apenas coisas Delphi bastante padrão, sem Javscript etc necessário.

    Em um aplicativo, temos tablets em campo retornando dados HTML para o servidor. Quando o usuário UNIGUI navega na lista de arquivos retornados, verificamos se o mesmo nome de arquivo existe, mas com uma extensão PDF em vez de HTM - se não, simplesmente chamamos wkhtmltopdf.exe de um procedimento no mainmodule em uma janela oculta com param1 como html de origem e param2 como o PDF necessário. Uma vez que o PDF existe, exibimos/imprimimos conforme necessário.

    você pode usar qualquer função Delphi que execute um exe externo (ShellExecute, ShellExecureEx, WinExec, CreateProcess....)

    Essa abordagem funciona bem para nós, é fácil de implementar e permite processamento adicional se o processo chamado for realmente um arquivo em lote com uma lista de outras coisas para fazer nele, em vez de apenas converter para um PDF.

     

    Obrigada

    Hello, can you post an example of how to use it?

  2. 1 hour ago, Sherzod said:

    One possible solution:

    1. 

    type
      TXPopupMenu = class(TUniPopupMenu)
    
      end;

    2. OnReady event ->

    procedure TMainForm.UniFormReady(Sender: TObject);
    begin
      with TXPopupMenu(UniPopupMenu1).MenuControl.JSInterface do
        JSAddListener('afterrender', 'function(){this.items.sort(function(item1, item2) {return item1.text.localeCompare(item2.text)})}')
    end;

     

    It works!

    • Like 1
  3. ServerModule	
    
    {* MAPS *}
    Self.CustomFiles.Clear;
    Self.CustomFiles.Add('https://maps.googleapis.com/maps/api/js?key=' + Self.KeyMaps + '&callback=gmNoop&libraries=geometry,places,visualization');
    Self.CustomFiles.Add('../files/maps/uniGmap.css');
    Self.CustomFiles.Add('../files/maps/markerwithlabel_packed.js');
    Self.CustomFiles.Add('../files/maps/markerclusterer.js');

    console:

    Google Maps JavaScript API has been loaded directly without loading=async. This can result in suboptimal performance. For best-practice loading patterns please see https://goo.gle/js-api-loading

    Has anyone resolved this?

  4. 59 minutos atrás, FXSystems disse:

    Oi.
    Eu mudei para Delphi 12 cerca de duas semanas atrás (devido à compatibilidade de aplicativos Android com SDK 33) e estou atualmente testando seu funcionamento com a versão mais recente do uniGUI.

    Sem problemas até agora.
    Acho que vou terminar os testes dentro da próxima semana e migrar toda a solução para Delphi 12 e uniGUI 1.95.0.1580.

    Have there been any improvements to your unigui application after the update?

  5. 1 hora atrás, Muhammad Idris disse:

    Então, existe uma solução para que vários arquivos PDF possam se tornar um arquivo PDF?

    I have a routine here that can generate thousands of PDFs,

    and the solution to downloading them was simple.

    Just get all pdf and zip it. Download the zip and be happy.

  6. 1 hour ago, vbdavie said:

    Eu entendo que o módulo ISAPI w3wp.exe (32bit) pode lidar com 4GB de RAM.

    Pergunta. Eu tenho um aplicativo que tem mais de um milhão de linhas de código e não estou considerando a conversão para o modelo de 64 bits.

    Então, com isso em mente, se eu tenho 20 usuários logados, há cerca de 2GB. São cerca de 100MB por usuário. Há muitos dados que são pré-carregados na memória RAM para torná-lo muito mais rápido. Caso contrário, o sistema fica lento. Portanto, os 100MB por usuário são necessários.

    Isso significa que ele só pode lidar com cerca de 40 usuários (4GB)??? Ou o sistema ISAPI faz coisas inteligentes inteligentes como SPAWN outro w3wp.exe para permitir que mais usuários (mais RAM).

    Ou, agora estou restrito a apenas cerca de 40 usuários?

    Obrigado

    Davie

    Hello, in my humble opinion, you should think differently, you can have an api and put the cache in it. And it would solve your problem.

    The web server needs to consume as little memory as possible.

  7. Date: 16/01/2024 16:20:07
    User: xxx - Desktop
    Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
    Versão: 3.0.0.586
    IP: xxx
    URL: xxx
    Navegador: chrome
    Navegador Versão: 120
    OS: windows
    SessionID: 11_Q2f5zvltjj10E0DE818
    Component: Grid_ConsAtendVeiculo (TUniDBGrid)
    Parent: UniFrameConsAtendVeiculo1
    LastAjaxEvent: dummy
    Class: Exception
    Message: Config Option: O130F9->bodyBorder:false<br/>is refering a previous request,<br/>it's not allowed in AJAX request or JS handler.<br/>Use equivalent Public Property or Method instead.
    ------------------------------------
    
    ------------------------------------
    Date: 16/01/2024 16:20:08
    User: xxx - Desktop
    Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
    Versão: 3.0.0.586
    IP: xxx
    URL: xxx
    Navegador: chrome
    Navegador Versão: 120
    OS: windows
    SessionID: 11_Q2f5zvltjj10E0DE818
    Component: Grid_ConsAtendVeiculo (TUniDBGrid)
    Parent: UniFrameConsAtendVeiculo1
    LastAjaxEvent: dummy
    Class: Exception
    Message: Config Option: O13101->layout:"absolute"<br/>is refering a previous request,<br/>it's not allowed in AJAX request or JS handler.<br/>Use equivalent Public Property or Method instead.
    ------------------------------------
    [16:20]
    ------------------------------------
    Date: 16/01/2024 16:20:08
    User: xxx - Desktop
    Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
    Versão: 3.0.0.586
    IP: xxx
    URL: xxx
    Navegador: chrome
    Navegador Versão: 120
    OS: windows
    SessionID: 11_Q2f5zvltjj10E0DE818
    Component: Grid_ConsAtendVeiculo (TUniDBGrid)
    Parent: UniFrameConsAtendVeiculo1
    LastAjaxEvent: dummy
    Class: Exception
    Message: Config Option: O13109->bodyBorder:false<br/>is refering a previous request,<br/>it's not allowed in AJAX request or JS handler.<br/>Use equivalent Public Property or Method instead.
    ------------------------------------

    I have been living with this problem for a long time, my scenario is this: My system opens in tabs. In a tab, there is a timer running and loading a grid, so the user can open this tab and other tabs, from my tests on my system that's it, it seems that the system requests together with the timer cause some conflict.

    This error does not appear to the user, but appears in the log.

    Timer.PNG

×
×
  • Create New...