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

FIL

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

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

  • Посещение

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

    4

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

  1. Заметил, что в FM-приложениях на реальном устройстве отсутствует стандартная подзвучка нажатия кнопок и т.п. действий (которая есть во всех прочих приложениях на Андроиде).

     

    Это так и задумано или я что-то делаю не так?

  2. Выяснил что если из ХЕ8 взять файлы:

      Datasnap.DSClientRest.pas

      Datasnap.DSHTTPClient.pas

      Datasnap.DSProxyRest.pas

      Datasnap.DSClientMetadata.pas

    , то клиет работает корректно.

     

    Но найти в них косяк весьма проблемотично, т.к. изменения в Seattle относительно ХЕ8 слишком кардинальные.

    А разработчикам, похоже, это не особо интересно.

  3. Всем привет!

    Решил тут немного поближе познакомиться с технологией DataSnap.

    Добрался до функций обратного вызова.

    Нашел хороший пример на данную тему: CallbackChannels

    После некоторых доработок проект скомпилировался на Delphi 10 Seattle.

    Клиент на базе TSQLConnection заработал как и ожидалось, а вот с клиентом на базе TDSRestConnection возникли проблемы:

    Ф-ция обратного вызова регистрируется на сервере и сервер тут же закрывает канал

    (при этом в обработчике события OnChannelStateChange параметр EventItem.EventType = rChannelClosedByServer).

    Соответственно дальше ничего не работает. При этом на сервере в момент регистрации отображается создаваемый канал и какой-то фантомный (см. рис.).

    Долго и безуспешно пытался понять в чем проблема и в итоге решил скомпилировать клиента (RESTClientChannels) на ХЕ8.

    И... о чудо! - он заработал.

     

    Соответственно вопрос: что разработчики сделали такого с TDSRestConnection и иже с ним в Seattle, что ф-ции обратного вызова перестали работать и как это исправить?

    post-1506-0-57970200-1444060298_thumb.jp

  4. Исходя из вышеизложенного, могу предложить понаделать "урезанных" версий программы, где выкинута та или иная часть компонентов/кода, и таким образом попытаться локализовать проблему.

  5. Одно выглядит странным: метод CreateBitmap объекта BitmapItem создает битмап в никуда лишь для того, чтобы программист потом вручную запихивал этот битмап обратно в BitmapItem)

     

    Да и св-во TransparentColor, которое учитывается лишь в одном методе, а в остальных случаях его изменение ничего не дает и лишь сбивает с толку...

    Может просто в CreateBitmap еще один параметр добавить? 

  6. Это можно обойти добавив свой стиль для SpeedButton.

    Поясню немного:

    1. Заходим в редактор стиля SpeedButton.

    2. Сохраняем стиль.

    3. В текстовом редакторе удаляем строку FixedHeight = ... и сохраняемся.

    4. В редакторе стилей загружаем стиль обратно.

    5. Готово)

     

    Upd: чуть самое главное не забыл)

    Чтобы это все заработало в ФМ, надо подшлифовать напильником:

    procedure TForm1.SpeedButton1ApplyStyleLookup(Sender: TObject);
    begin
    {$IFDEF ANDROID}
      SpeedButton1.RecalcSize;
    {$ENDIF}
    end;
    

    post-1506-0-88402300-1440933925_thumb.jp

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