Jump to content

Kenneth

uniGUI Subscriber
  • Posts

    156
  • Joined

  • Last visited

Posts posted by Kenneth

  1. On 1/18/2021 at 8:30 PM, playsoft said:

    Hello, did you improve the example? I'm using but the image quality obtained in the cut is very low. Any idea?

    Please try this:

    SetStretchBltMode(bmp2.Canvas.Handle,4); //<-------- use this 
    bmp2.Canvas.CopyRect(destRect, bmp.canvas, srcRect);

     

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

    Было бы хорошо сначала отобразить хтмл.

  3. Я же выше писал, при проверке на скорость инструментами гугла, он просит обратить внимание на компоненты самого унигуи, именно стили темы и т.д. Возьмите пустой проект, без всяких загрузок и сами можете обнаружить небольшое подвисание, перед открытием. Возможно с этим придётся считаться, тогда есть ли вариант сначала показать хтмл страницу,  а после загрузки приложения, само приложение? Хтмл естественно показать нужно не в хтмл фрейме, а как отдельную от унигуи страницу, иначе нет смысла.

  4. при открытии приложения через браузер приходится ждать от 5 до 10 сек. Как ускорить этот процесс? Гугл советует "Устраните ресурсы, блокирующие отображение", в основном это стили темы и все что связанно с унигуи. У кого есть опыт, поделитесь? Какие есть возможности максимально ускорить загрузку?

  5. А если так попробовать:

    1. В ServerModule

    procedure TUniServerModule.UniGUIServerModuleHTTPCommand(..
    begin
    if ARequestInfo.Document = '/help' then
        begin
          ARequestInfo.Document:='';
          ARequestInfo.Params.Add('path=help');
          ARequestInfo.Params.Add('id='+ARequestInfo.Params.Values['id']);
        end;
    
    end;

    2. В MainModule

    procedure  UniGUIMainModuleHandleRequest(ASession: TObject;
      var Handled: Boolean);
    
    begin
      if ASession<>nil then
      begin
       if (TUniGUISession(ASession).ARequest.Params.Values['path']='help') then
        begin
          //Можно передать глобальные параметры, а уже в главной форме их увидеть
          id := TUniGUISession(ASession).ARequest.Params.Values['id'];
        end;
      end;
    
    end;

     

  6. Проблема была в MainModule.TouchTheme. Данные стили срабатывают только если стоит тема triton, то что по умолчанию. Если поставить другую тему, то стили уже не работают. Возможно ли реализовать стиль при любых темах?

  7. On 12/6/2020 at 6:03 AM, Sherzod said:

    Как Вы создаете?

    with TUnimButton.Create(UnimScrollBox1) do
        begin
         ClientEvents.UniEvents.Values['beforeInit']:='function(sender, config){ config.cls="btnborder";}';
         JSInterface.JSConfig('cls',['btnborder']);
         Parent:=UnimScrollBox1;
         Align:=alLeft;
        end;

  8. А у меня почему то не работает. Дельфи и версия фреймворка последней версии. 

    Создаю в рантайме кнопки, при создании использую вот такой код:
     

    btn.ClientEvents.UniEvents.Values['beforeInit']:='function(sender, config){ config.cls="btnborder";}';
     btn.JSInterface.JSConfig('cls',['btnborder']);

    CustomCSS:

    .btnborder .x-inner-el{
    border-radius: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    }

    P.S. В десктопном браузере работает (без .x-inner-el), а в мобильном никак не хочет.

  9. 14 hours ago, x11 said:

    А так, как показано выше пробовали и не получилось?

    Получается, но не корректно отображает. Видимо этот вариант для мобильной версии больше подходит.

×
×
  • Create New...