Перейти к содержанию
Fire Monkey от А до Я

Bob32

Пользователи
  • Постов

    109
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Сообщения, опубликованные Bob32

  1. 10 часов назад, Slym сказал:

    и ручками править хрупкую структуру - нунах...
    там у тебя json, проверяй валидность json
    json:=TJSONObject.ParseJSONValue(Bytes, 0);
     

    проверяю как Вы сказали - валидность json-а ломается после внесения изменений в текст запроса в TMemo.

    просто интересно - ПОЧЕМУ???

    (если запрос написан в обджект инспекторе - все ок, если ручками рантайм правлю значение параметра - я сейчас программу тестирую - это удобно - вот эта схема с последующей конвертацией ТМемо в Bytes и дальше в пост - ломается......)

  2. 2 часа назад, Slym сказал:

    Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text);
    BytesStream:=TBytesStream.Create(Bytes);
    try
    HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream);
    .....

    finally
      BytesStream.Free;
    end

    Хммм. 
    все работает, если это ТМемо, в которое я в обджект инспекторе вбил текст запроса - не трогаю ран-тайм. 
     

    если ручками в нем ран-тайм меняю с виртуальной клавиатуры значения отправляемых параметров - то получаю от сервера вместо 200 кода - 400-сотый. Кодировка видно сбивается. 

    при этом, до постинга на сервер делаю тестовое считывание BytesStream в другое ТМемо - там все отображается верно. Может подскажите, почему? 
    у меня ума не хватает понять самостоятельно (

  3. 6 минут назад, Slym сказал:

    Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text);
    BytesStream:=TBytesStream.Create(Bytes);
    try
    HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream);
    .....

    finally
      BytesStream.Free;
    end

    Я не хочу спорить, но по-моему, он ругается в ответе на заголовок, а не на кодировку контента.  Вы уверены в том, что это поможет? 

  4. Добрый день!

     

    пытаюсь вот таким образом json-обьект запостить на сервер (это платежный шлюз).

    получаю от сервера в респонзе ответ - 

     

    {"Success":false,"ErrorCode":"5","Message":"Неверный запрос.","Details":"Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json."}

    "Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json"

    почему он неверный???? я же ниже в коде ставлю ContentType именно в application/json…..

     

    Что я делаю не так?

     

    Код:

     

     FHTTPClient:=THTTPClient.Create;
          FHTTPClient.ConnectionTimeout:=ConstHTTPClientConnectionTimeout;
          FHTTPClient.ResponseTimeout:=ConstHTTPClientResponseTimeout;
          FHTTPClient.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
          FHTTPClient.Accept:='text/html,application/json,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
          FHTTPClient.AcceptEncoding:='gzip, deflate';
          FHTTPClient.AcceptLanguage:='ru,en-US;q=0.8,en;q=0.6';

          FHTTPClient.ContentType:='application/json';
          FHTTPClient.AcceptCharSet := 'UTF-8';

          try

            try
              HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', Memo1.Lines);
              if Assigned(HTTPResponse) and (HTTPResponse.StatusCode = 200) then
                begin
                //  if Assigned(fmRating.Image14.Bitmap) then fmRating.Image14.Bitmap.Free;

                  Memo2.Lines.LoadFromStream(HTTPResponse.ContentStream);

                end;
            except

            end;
          finally
            if Assigned(FHTTPClient) then FHTTPClient.Free;
          end;

  5. 2 часа назад, Slym сказал:
    
    procedure TForm1.CalcContentBounds(Sender: TObject; var ContentBounds: TRectF);
    begin
      TCustomScrollBox(Sender).AniCalculations.BoundsAnimation:=(TCustomScrollBox(Sender).Size.Height<ContentBounds.Height);
    end;

     

    У меня на этой форме табконтрол лежит. Вылечилось снятием галочки Pan в интерактивджестуоес на всех табайтемах. А вы уверены в вашем лекарстве? Может поясните вкратце диагноз?

  6. Возможно, дело в том, что под иосом вьюпорт у скроллбокса может меняться (на небольшое значение, большой скроллинг сделать он не даёт), когда пальцем касаешься экрана и водишь им вверх-вниз. Как запретить скроллбоксу обрабатывать это событие? 

  7. Добрый день!

    РИО 10.3.1 Community.

    есть форма, на ней Тулбар (ТОп) и ТабКонтрол (Client).

    Чтобы все это скроллилось при вызове клавиатуры - и тулбар, и табконтрол лежат на VertScrollBox-е. Сам скроллбокс лежит на форме.

    Все было прекрасно под андроидом. Откомпилировал прогу под IOS и стало работать так - на тех формах, где скроллбокс располагается сразу на форме и содержит все другие компоненты - при попытке пальцем делать вертикальный скроллинг (просто водить вверх вниз по форме) - все содержимое скроллбокса ходит вверх-вниз (зазжая за верхние и нижние края формы) - фактически сама форма так ходит. это происходит без активной клавиатуры. Если при этом на этой форме (или закладке) лежит ListView - то от этого скроллинга от пальца - ходит вверх вниз и сама форма, и ЛистВью тоже скроллится вверх-вниз. но это нормальным скроллингом списка назвать нельзя - ползет медленно и непропорционально. Вид сюрреалистический.

     

    На некоторых формах (но не на основной) - это лечится отключением свойства Pan в InteractiveGestures. Мне этот Pan нафик был не нужен - просто обратил внимание, что он один включен там включен - выключил, и этот скроллинг странный пропадает.

    На главной форме это не прокатило. На главной форме есть также МультиВью (вдруг это важно).

    Не налетал ли кто на такое? Что посоветуете?

    Спасибо! 

  8. 10 минут назад, #WAMACO сказал:

    К сожалению не сталкивался. У меня наоборот MacOS основная, а гостевая Windows. Все работает как часы, все устройства видны без танцев с бубном. 

    Понял. Может есть контакты людей, кто собрал такую среду и добился неимоверных успехов? )

  9. 49 минут назад, #WAMACO сказал:

    Только устройство! Что тут еще можно советовать....

     

    Абсолютно с Вами согласен! 
    Но с устройством есть другая проблема, я написал о ней в параллельной теме, пока никто не ответил. Может Вы сможете посоветовать.

    собрал среду для компиляции на vboxe под Виндой. Гостевая ос - последняя версия каталины (10.15.5).

    последний xCode. Последний Paserver (20.0).

    Сертификат разработчика куплен, прописан. 
     

    проблема в том, что каталина не видит моего айфона (iOS 13.4).

    Проброс usb делаю, могу подмапить флешку с материнской операционки. Даже Первый айпад с древним ios-ом - тоже каталина видит! А вот седьмой айфон с иосом - 13.4 - нет. При этом, в списках устройств usb в отчете операционки об аппаратных средствах мой девайс с его честным uuid - есть! Но она его наотрез не хочет подцеплять как телефон (чтобы он был доступен в системе как телефон).

    при этом, на телефоне на иконке аккумулятора нет значка заряда. Как только я этот ресурс отмапливаю от гостевой ОС и он попадает во власть материнской Винды - она его сразу оприходует верно и телефон начинает заряжаться. Покупать сейчас железку под маком - не то время. 
     

    может посоветуете что? Если у Вас есть похожая работающая среда - буду признателен за любую помощь советом!

  10. Ребят, налетел на эту же проблему - приложение устанавливается на симулятор, но после сплэш экрана вылетает. 
     

    среда такая - Catalina на vbox, последний xCode и paserver 20.

    delphi 10.3.3 rio community

    эппловский девелоперский сертификат  есть. 
     

    может посоветуете что-нить путное? )

     

     

     

  11. Добрый день! 
     

    бьюсь над проблемой - близок к отчаянию (
    Поставил каталину на виртуалку под vbox. Обновился до послед версий Xcode и каталины. 
     

    Настроил проброс usb для iphone. 
    каталина телефон не видит (

    если настраиваю проброс usb для внешнего usb-носителя - флешка прекрасно подключается и видится под маком. 
     

    не налетал ли кто из уважаемой публики на эту проблему?

    буду очень признателен, если кто-то поделится своим опытом подъема среды на виртуалке. 


    гугл изучил - мысли и варианты кончились (


    спасибо!

  12. Добрый день! 
     

    бьюсь над похожей проблемой - близок к отчаянию (
    Поставил каталину на виртуалку под vbox. Обновился до послед версий Xcode и каталины. 
     

    Настроил проброс usb для iphone. 
    каталина телефон не видит (

    если настраиваю проброс usb для внешнего usb-носителя - флешка прекрасно подключается и видится под маком. 
     

    не налетал ли кто из уважаемой публики на эту проблему?

    буду очень признателен, если кто-то поделится своим опытом подъема среды на виртуалке. 
     

    спасибо! 

  13. Добрый день!

     

    Есть такая проблема:

    есть программа под Андроид, которая ранее компилировлась на Рио 10.3 и работала.

    Обновил Дельфи до Рио 10.3.3 (чтобы появилась возможность компилировать под Андроид64 и выкладывать в магазин) .

    После обновления компонент, с которого пишутся по onSampleBufferReady  битмапки на TImage - стал работать так:

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

    Сначала думал дело в моем коде, но потом откомпилировал стандартное приложение CameraComponent из Samples - и там этот глюк также стал присутствовать, что доказывает, что дело в компоненте. (

    (в Рио 10.3 и моя программа, и это стандартное приложение, этого глюка не имели)

     

    Сталкивался ли кто с таким?

    Насколько сложно вместо работы через эту компоненту вызывать нативные андроидовские методы и через них работать с камерой? (задача - просто получать битмапки в разрешении 640*480 - 24 кадра в секунду).

    Буду признателен за наводку в части кода или ссылки, если у кого есть.

    Спасибо!

  14. Добрый день!

     

    есть программа под Андроид, которая ранее компилировлась на Рио 10.3 и работала.

    Обновил Дельфи до Рио 10.3.3 (чтобы появилась возможность компилировать под Андроид64 и выкладывать в магазин) .

    После обновления компонент, с которого пишутся по onSampleBufferReady  битмапки на TImage - стал работать так:

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

    Сначала думал дело в моем коде, но потом откомпилировал стандартное приложение CameraComponent из Samples - и там этот глюк также стал присутствовать, что доказывает, что дело в компоненте. (

    (в Рио 10.3 и моя программа, и это стандартное приложение, этого глюка не имели)

     

    Сталкивался ли кто с таким?

    Насколько сложно вместо работы через эту компоненту вызывать нативные андроидовские методы и через них работать с камерой? (задача - просто получать битмапки в разрешении 640*480 - 24 кадра в секунду).

    Буду признателен за наводку в части кода или ссылки, если у кого есть.

    Спасибо!

  15. 7 часов назад, krapotkin сказал:

    рыть лучше всего в сторону модели данных

    сортировать данные там, и заново выводить в ListView

    и нет проблем

    Я Вас правильно понял - вы имеете ввиду самому отсортировать свой массив и в таком виде его грузить в ListView?

    тоже начинаю к этому склоняться (

    а что, разве это такая большая проблема - сортировка элементов внутри ListVew? на эти грабли уже наступали?

  16. Добрый день!

    имеем - Rio 10.3 Community и ListView который отрисовывает элементы базы данных (с помощью onUpdatingObjects);

    Далее пытаюсь делать сортировку элементов ListView с помощью вот такого когда:

    ListView1.Items.Sort(TComparer<TListViewItem>.Construct(
        function(const ALeft, ARight: TListViewItem): Integer
        begin
          Result:=0;

          if ALeft.Data['Price'].AsInteger<ALeft.Data['Price'].AsInteger then Result:=1
          else Result:=-1;
        end));

     

    Программа или виснет, или вылетает по Access violation. (

    Что интересно - если сортировать по полю Tag (см код ниже) - все работает.

    ListView1.Items.Sort(TComparer<TListViewItem>.Construct(
        function(const ALeft, ARight: TListViewItem): Integer
        begin
          Result:=0;

          if ALeft.Tag<ALeft.Tag then Result:=1
          else Result:=-1;
        end));

    Но у меня условие сортировки сложное. все данные в поле Tag я не вставлю (

     

    ВАЖНО - .Data['Price'].AsInteger - совершенно точно существует.

    Также пробовал искать по FindDrawable - элементы TListItemText, вставленные в onUpdatingObjects и сравнивать их - эффект тот же - или виснет, или access violation.

    Сталкивался ли кто с таким? какой совет можете дать, куда рыть?

    Спасибо!


     

  17. Добрый день!

    есть приложение под андроид на 10.3 рио. Изображение с Камеры выводится на одну из закладок табконтрола. Когда с неё пользователь уходит - выключаю камеру (свойство Active в false). Когда возвращается - включаю. 

    Если примерно раз 40 уйти с этой закладки и вернуться - приложение вылетает по непонятной ошибке. Вероятно камеракомпонент какой-то мусор за собой в памяти оставляет. 
     

    попробовал ее динамически создавать, когда заходишь на эту закладку и уничтожать, когда уходишь с неё. Все работает, но баг с вылетом приложения остался. Может сталкивался кто? 
    каки есть мысли у уважаемого сообщества? Как этот баг победить? 
    есть ли альтернативы?

    держать камеру все время включённой - негуманно по отношению к аккумулятору (

     

     

  18. 5 часов назад, juppy сказал:

    Но мне не понравилось как он работает.

    Там ЭкшнБаттоны не тянутся за свайпом, а сами появляются поняв, что свайп сделан.

    На IOS такое поведение не очень ожидаемо.

     

    Да, все как Вы написали - миленько, но свайп такой почему то бесит! )

     

    все равно - огромное спасибо! )

  19. Добрый день!

    Написал мобильное приложение под андроид на Рио 10.3.

    все неплохо - но интерфейс выглядит «Аля 90-е».

    сейчас столько современных приложений со всякого рода «мульками» типа- потянул список вниз, потом отпустил и список обновился, или того, что на вложенных скриншотах (сдвигаешь свайпом вправо или влево элемент списка и появляются кнопки, которые могут с этим элементом что -то делать). 
    нет ли какой нить внешней библиотеки, в которой такие новомодные Мульки уже реализованы?


    или буду признателен за совет как это можно сделать «на коленках»

    спасибо!

    8D75AC2D-34D3-4E13-B6F7-AC2BFB0506B8.png

    E1EA6122-0CDE-445D-83B7-43B93CA90F90.png

  20. Добрый день!

    пишу приложение на rio 10.3 community edition под иос и андроид.

    помимо прочего хочу из него дать возможность пользователям постить некие Новости в свой Ленту в популярных соц сетях, в первую очередь на фейсбуке.

     

    нет ли для этого готовых компонент в каких-нить расширенных библиотеках ?

     

    или буду признателен за совет как это можно сделать «на коленках»

     

    спасибо!

  21. В ‎06‎.‎04‎.‎2019 в 16:19, Евгений Корепов сказал:

    Интересно! Обязательно сообщите результаты! )))

    руки дошли только сегодня и то пока криво )

    файл нашел, скопировал в директорию проекта, и там отредактировал.

    но этот файл  IdGlobalProtocols.pas - это не в чистом виде модуль библиотеки Indi.

    Что значит "add the edited file to your project"? просто списать в каталог проекта - этого вероятно будет недостаточно )

×
×
  • Создать...