Jump to content

Alexander Muromsky

uniGUI Subscriber
  • Posts

    32
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Alexander Muromsky

  1. Good day! At the time of purchasing UniGui components (in 2018), it was necessary to use "mobile" components for smartphones, and classic components for a desktop. The capabilities of classic components are much broader than those of mobile components. It is very difficult to work with mobile components, their capabilities are constantly lacking, errors often occur. The component for editing real numbers still cannot be used (our version is not the newest, 1.90.0.1531, but people ask the same questions on the forum), because it does not work on a smartphone, you have to use TUnimEdit instead. There is a feeling that mobile components are developing on a leftover basis - only after the UniGui developers have closed all the questions with classic components, they will switch to mobile components. Currently, classic components can work on a smartphone (in 2018 they could not, an error was issued). Question: does it make sense in 2021. use mobile components? Or do the capabilities of classic components fully cover the capabilities of mobile components? Does anyone have any experience developing for smartphones using classic components? What problems are encountered when using them on smartphones?
  2. Добрый день! В момент приобретения компонентов UniGui (в 2018г) для смартфонов необходимо было использовать "мобильные" компоненты, а для десктопа - классические компоненты. Возможности классических компонентов гораздо шире возможностей мобильных компонентов. Работать же с мобильными компонентами очень тяжело, их возможностей постоянно не хватает, то и дело приходится натыкаться на глюки. Компонент для редактирования вещественных чисел до сих пор нельзя использовать (у нас версия не самая новая, 1.90.0.1531, но такие же вопросы на форуме люди задают), т.к. на смартфоне он не работает, приходится вместо него использовать TUnimEdit. Есть ощущение, что мобильные компоненты развиваются по остаточному принципу - только после того, как разработчики UniGui закроют все вопросы с классическими компонентами, они переключатся на мобильные компоненты. В настоящее время классические компоненты могут работать на смартфоне (в 2018г не могли, выдавалась ошибка). Вопрос: имеет ли смысл в 2021г. использовать мобильные компоненты? Или возможности классических компонентов полностью покрывают возможности мобильных компонентов? Есть ли у кого-нибудь опыт разработки для смартфонов с использованием классических компонентов? Какие подводные камни вы могли бы отметить?
  3. У нас скоро заканчивается подписка (вроде в августе). Вопрос: если мы оплатим продление подписки позже (например в ноябре), то на какой период будет предоставлена подписка? До ноября 2020 г. или до августа 2020г? Оплатить продление подписки можно в любой момент (например через 2 года) либо есть какое-то ограничение?
  4. Good afternoon. I have the same problem. How to solve it ???
  5. Спасибо! Данное решение работает!
  6. А если легенда располагается сверху и в ней больше 10 строк, то круговая диаграмма выглядит так, как показано на рисунке...
  7. Если мы добавляем значения с помощью UnimPieSeries1.Add(IntToStr(Random(10)+5), 'LabelText'); то текст LabelText отображается и на легенде и на графике. Это не имеет практического смысла, и если текст длинный, то он выходит за пределы видимой области графика. Подскажите, каким образом сделать так, чтобы на графике отображался один текст, а на легенде другой текст. Конкретно мне хочется, чтобы для такого кода: UnimPieSeries1.Add(10000, 'ООО Автоматика плюс'); в легенде отображалось наименование контрагента (ООО Автоматика плюс), а на графике - сумма покупки (10000 р.).
  8. Стоит ли мне завести задачу в Customer Portal, либо разработчикам UniGui достаточно данного сообщения в этом форуме?
  9. Очень легко воспроизводится: 1. Кидаем на форму TUnimSelect 2. Настраиваем Items, делаем ItemIndex = 0 В результате у меня получилось следующее содержимое dfm: object MainmForm: TMainmForm Left = 0 Top = 0 ClientHeight = 535 ClientWidth = 311 Caption = 'MainmForm' TitleButtons = <> OnCreate = UnimFormCreate PixelsPerInch = 96 TextHeight = 13 ScrollPosition = 0 ScrollHeight = 47 PlatformData = {} object UnimSelect1: TUnimSelect Left = 48 Top = 16 Width = 225 Height = 47 Items.Strings = ( 'item 1' 'item 2' 'item 3') ItemIndex = 0 TabOrder = 0 end end 3. Запускаем в браузере на мобильном телефоне, нажимаем на UnimSelect1 (появится список в нижней части экрана, по умолчанию выбран самый первый элемент) и не меняя выбранный элемент нажимаем Done. Список исчезает. 4. Нажимаем пальцем в нижней части экрана и ведём пальцем вверх: список снова появляется. Однако, если бы на этапе 3 мы выбрали другой элемент, то глюка бы не было. Вопрос: как мне избавиться от этого глюка?
  10. На всякий случай версия ЮниГуя: 1.10.0.1471
  11. Выполнил русификацию компонента TUnimSelect следующим образом: procedure TMainmForm.UnimFormCreate(Sender: TObject); begin UnimSelect1.ClientEvents.UniEvents.Add('afterCreate=function afterCreate(sender) '+ '{ var me=sender.getPicker();' + ' if (me && !Ext.isWindows) { '+ ' me.getDoneButton().setText("Выбрать"); '+ ' me.getCancelButton().setText("Отмена")} '+ '}'); end; Однако на смартфоне проявляется следующий глюк: если нажать пальцем в нижней части экрана и потянуть вверх, то появляется список выбора от UnimSelect1. Каким образом избавиться от этого глюка, но сохранить русификацию. Для того, чтобы воспроизвести проблему, достаточно кинуть на форму компонент UnimSelect1, заполнить Items и скопировать код в обработчик UnimFormCreate.
  12. Добрый день! 1)Проблема с отображением страницы в FireFox (установлена последняя версия): Отображается только часть документа, и точка начала смещена в центр + скролинг не работает, в остальных браузерах отображается корректно. 2) Очень странно отрабатывает команда: htmlReports.JSInterface.JSCall('el.setStyle', ['transform', 'scale(0.5)']); Масштабируется не документ внутри окна, а само окно с документом( во всех браузерах) )))))))))) При этом документ внутри этого крошечного окна прокручивается скролом ))))
  13. Эту проблему можно легко смоделировать на демо-примере с двумя графиками: ChartsTwoCharts.pas UnimContainerPanel1.AutoScroll := True; UnimChart1.Align := alNone; UnimChart2.Align := alNone; UnimChart1.Height := 350; UnimChart2.Height := 350; Между UnimChart1 и UnimChart2 делаем зазор. Запускаем и открываем на смартфоне. Если пальцем водить по UnimChart1 или UnimChart2 не скролится Если на области между ними - скролится .....
  14. Добрый день! Столкнулся с такой проблемой. Графики на форме идут один за другим и на мобильных устройствах не пролистываются, если пальцем проводишь по самому графику. Можно пролистать если пальцем проводишь за пределами компонента. Как-то не очень удобно ..... Можно-ли как-то отключить у компонента все лишние события??? Или возможно у кого-то есть иное решение данной проблемы....
  15. Добрый день! При нажатии на боковую панель выплывает "пузырь" с содержимым(например меню), как принудительно заставить её выплывать и заезжать назад. Панель заезжает по какому-то тайм ауту, только после перевода фокуса за пределы выплывшей панели.... И как управлять этим тайм аутом.... -- Пробовал делать UnimPanel1.Collapsed := False а потом сразу UnimPanel1.Collapsed := True - но это не то, боковая панель при этом пропадает, а хотелось чтобы на планшете она оставалась на месте...
  16. Добрый день! Строю круговую диаграмму. Из-за того, что надпись длинная, она не умещается внутри и выносится как сноска за пределы круга. Надписи не видно.... (см. приложенный рисунок) Можно как то уменьшить внешний радиус круга??? Или расширить область вокруг него??? Спасибо.
  17. Добрый день! Данная проблема наблюдается так-же и с компонентом TUnimRadio!!! Сделал как в примере выше, значение установилось: UnimRadioGroup[J].JSInterface.JSCall('setValue',[True]); Но проблема в том, что количество элементов динамически меняется и как считать значение выбранного элемента, если при выборе элемента значение Checked не меняется.....
  18. Добрый день! Конечно можно.... procedure TMyForm.UnimDBGrid1DrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TunimDBGridColumn; Attribs: TUniCellAttribs); begin if ds.FieldByName('AGE').AsInteger > 18 then Attribs.Color := $DFFFDF else Attribs.Color := $DFDFFF; if ds.FieldByName('AGE').AsInteger = 25 then Attribs.Font.Style := [fsBold] else Attribs.Font.Style := []; if ((Column.FieldName = 'FIO') and (ds.FieldByName('FIO').AsString = 'Иванов Иван Иванович')) then Attribs.Font.Color := clRed; end;
  19. Добрый день! Как добавить возможность выбора секунд в компонент TUnimTimePicker мобильной версии программы...
  20. Добрый день! Есть UnimPanel, у которой включено в настройках Collapsible = True и CollapseDirection = cdLeft , на которой располагается меню. По умолчанию она находится в свёрнутом состоянии. (panel collapsed.png) Если развернуть панель и выбрать пункт, то под ним выводится необходимая информация, (panel expanded.png) а панель автоматом свернется если пальцем переводим фокус на ту область, которая перекрывается панелью. Как самому принудительно свернуть появившуюся область??? Или программно передать фокус другому элементу???? Или задать временную задержку через которую панель сама-бы сворачивалась??? Вариант: UnimPanel1.Collapsed := False/True не подходит, так как влияет на стиль отображения панели....
  21. Спасибо!!! Поменял у Mainm -> Layout на fit и всё заработало .....
  22. Добрый день! Столкнулся с такой проблемой: Если у главного окна программы, модуль Mainm, поменять AligmentControl на uniAlignmentClient, то unimDBGrid который используется на форме схлопывается до шапки таблицы и никаким способом развернуть нижнюю часть с данными не возможно, то-же самое происходит и с UnimHTMLFrame. В качестве примера проявления данного эффекта, можно взять проект с демонстрациями возможностей: c:\Program Files (x86)\FMSoft\Framework\uniGUI\Demos\Touch\AllFeatures\mdemo.dpr и у Mainm, поменять AligmentControl на uniAlignmentClient и посмотреть пример с DBGrid.
  23. Решение: В UnimFormCreate добавил -> if upPhone in UniSession.UniPlatform then begin UnimSelect1.ClientEvents.UniEvents.Add('afterCreate=function afterCreate(sender) '+ '{ var me=sender.getPicker();' + ' if (me && !Ext.isWindows) { '+ ' me.getDoneButton().setText("Выбрать"); '+ ' me.getCancelButton().setText("Отмена")} '+ '}'); end;
×
×
  • Create New...