Jump to content

Sergii

uniGUI Subscriber
  • Posts

    49
  • Joined

  • Last visited

Posts posted by Sergii

  1. Да это ИИТ. При работеc NPN работа идет с файлом а не строкой. И даже не надо заморачиваться BASE64 (Это для GUI). Решил проблему следующим образом. Во внешний скрит добавил функцию

    var fileKey;

    function searchFileButton(){
             fileKey=document.getElementById('O4B_id-button-fileInputEl'); // id UniFileUploadButton

    }

    На event  UniFileUploadButton.OnCompleted повесил 

    (Sender as TUniFileUploadButton).JSInterface.JSCallGlobal('searchFileButton',[]);

    И далее использую fileKey

  2. Доброго времени суток

    В процессе наложения электронной цифровой подписи я из приложения выбираю файл в котором храниться ключ. Файл выбираю с помощью TUniFileUploadButton. Вожу пароль ключа и мне необходимо внешней библиотекой JS считать данные. Данные в функцию передаются в переменную типа File. Как это сделать?

     

     

  3. Доброго времени суток. Как по нажатию кнопки изменить расположение закладок  UniPageControl. Есть пользователи которым нравиться расположение вверху, есть которым нравиться слева. Решил сделать чтобы они сами в процессе выбирали расположение.

     

     

    • Upvote 1
  4. Доброго времени суток

    В TUniDBGrid используется RowWidget. Для отображения данных в строке используются DBColumns[0].DisplayMemo:=true;

    Когда ширина строки изменяется, то Widget отображается в усеченном виде.

    image.png.7b5cfe5c352df136a66567291b2cc6ea.png 

     

  5. Этот вариант не решает проблему. Для того чтобы все корректно работало необходимо включить вертикальную прокрутку на панели. Если я включаю

    config.scrollable=true

    включается горизонтальная прокрутка. Это очень неудобно. Существует ли возможность на панели принудительно включить вертикальную прокрутку? Именно вертикальную.  

    C Уважением

    Serg

  6. Exampe.rar

    Добавил тестовый пример. В этом примере элементы располагаются правильно и не перекрывают друг друга. Проблема заключается в том, что при такой реализации нельзя включить вертикальную прокрутку панели.

    С Уважением 

    Serg

  7. Доброго времени суток

    На панели вертикально вывожу несколько TUniDBText элементов. При этом использую autosize=true. При переносе слов на следующую строку элементы перекрывают друг друга. Не придумал ни чего лучше, как элемент кинуть на UniContainerPanel. Однако не могу изменить размер панели, так как не нашел в TUniDBText свойства итоговой высотой элемента. Свойства autosize в UniContainerPanel не нашел. Подскажите как реализовать задачу?

     

  8. Доброго времени суток.  Мне после вызова функции через  (Sender as TUniButton).JSInterface.JSCallGlobal необходимо получить значение параметра обьекта.  Я добавил пример. В нем необходимо получить  Test.result и Test.state.

    JS - rd-delphi.js   находится  в files\rd-delphi.js

    ECP4.rar

  9. У меня есть модуль на js стороннего разработчика. Для упрощения работы я написал модуль js в который импортировал необходимые мне функции.

    например - import {sayHi} from './sayHi.js'; При вызове функции выдает ошибку 

    image.png.90bc719aaa9be6c9321bb2812860471f.png

    Mistake.rar

  10. Доброго времени суток. 

    Не подскажите как получить результат выполнения функции которая хранитcя во внешней библиотеке на JavaScript.

    Использование  *.JSInterface.JSCallGlobal('Say',[], t) в t ничего не возвращает.

  11. On 12/18/2020 at 3:34 PM, Sergii said:

    Self.OwnerForm

    Итак в результате поиска путей решения было установлено. Как только Вы начинаете создавать программно фреймы во всем этом процессе есть ОЧЕНЬ БОЛЬШОЙ НЮАНС. А именно: у Вас есть UniFrame например  с именем TExample. Вы создаете экземпляр фрейма eX:=TExample(Self). Весь прикол в том eX.Name=Example! Бинго! И когда вы выполняете eX.Free, экземпляр не удаляется и память не освобождается. Просто все свойства сбрасываются в nil. И поэтому это чудо корректно удаляется через if Assigned(FindComponent('Example')) then TExample(FindComponent('Example')).Free. Почему так? А потому как ваша переменная eX должна быть локальной переменной функции в которой создается экземпляр.

  12. Доброго времени суток

    В проекте создаю динамически форму на основе TFrame.

    case signType of
    1:begin
         DeleteLastForm;
         if formProject=nil then
         formProject:=TProject.Create(Self);
         formProject.Parent:=UniContainerLoad;
         formProject.Visible:=true;
         ActiveForm:=ldProject;
      end;
    2: begin
            DeleteLastForm;
            if formResolution=nil then
            formResolution:=TformResolution.Create(Self);
            formResolution.Parent:=UniContainerLoad;
            formResolution.Visible:=true;
            ActiveForm:=ldResolution;
         end;
      3:begin
            DeleteLastForm;
            if formDocument=nil then
            formDocument:=TformDocument.Create(Self);
            formDocument.Parent:=UniContainerLoad;
            formDocument.Visible:=true;
            ActiveForm:=ldResolution;
         end;

    Использую Standalone Server.  Когда работаю в одной сессии все замечательно. Когда открываю вторую - появляется ошибка 

    TUniSimplePanel.SetParent(): Parent.OwnerForm must be same as Self.OwnerForm (H:\Framework\uniGUI\Source\Core\uniGUIClasses.pas, line 5584).

    Это особенность использования Standalone Server? Если  нет  - какие способы существуют решения данной проблемы?

    Спасибо

     

     

     

×
×
  • Create New...