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

Alex Bozhko

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

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

  • Посещение

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

    4

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

  1. А почему нет?

    Ну, скажем так....
     

    procedure TForm1.ListView1UpdateObjects(const Sender: TObject;
      const AItem: TListViewItem);
    
    
    begin
      if aItem.Purpose <>  TListItemPurpose.Header then
      begin
    
          AItem.Height:= Random(100);
    
      end;
    end;
    

    Только надо понимать, когда это событие вызывается и что, в связи с этим делать.

    Вместо Random'a пишем условие...

  2.  

     

    Ну и обломали с ожидаемой поддержкой Intel на Android :( А парк таких аппаратов растет с каждым годом все больше и больше.

    Официально может и не объявляли но у меня на интеловском процессоре все работает нормально у меня даже видео есть показательны и доказательны

     

    Андройды на интелах, я так понял эмулируют другую архитектуру, только вот интересно как сервисы на Intel будут себя "самочувствовать", пожалуйста проверьте кто нибудь на интеле. 

     

    Проверил, вроде бы порядок.

  3. Минусы

    1. Баг с использованием старых стилей, ждём новые Premium Styles (спасает стандартные стили которые генерирует BitmapStyleDesigner)

     

     

    Так их же выложили сразу же...

  4. В 99% случаев на сервере зарублен доступ к базе извне. Попробуйте настроить подключение с помощью какого-нибудь менеджера СУБД, например,HeidiSQL. Если получится, а FireDAC по прежнему строится не будет, - будем разбираться.

  5. Ну, FDGUIxWaitCursor1, FDPhysSQLiteDriverLink1 - один раз повесили рядом с FDConnection, настроили и забыли - не особая и проблема (за универсальность чем-то платить всегда приходится).

    Query? Ну, используйте FDTable. Если ничего из ряда вон выходящего не нужно - будет прекрасно работать.

     

    LiveBinding (BindSourceDB1 и т. д.) - тут все сложнее... Эта технология предназначена для замены TDataSource. Суть в чем? B VCL мы используем TDataSource, но при этом все контролы, работающие с источником данных, - специальные. DBGrid, DBComboBox и т.д. В обычный ComboBox, иначе как руками данные из источника не запихать.

    Здесь же с помощью LiveBinding практически любой контрол можно связать с источником данных. Делается это в визуальном редакторе, а потом дотачивается руками. И не важно, какой набор компонентов доступа к данным вы используете (хоть FireDAC, хоть UniDAC. хоть Fib'ы). Если вы хотите "как VCL", то проблема не в FireDAC, проблема в отсутствии специальных контролов, для работы с данными. Единственная альтернатива LiveBinding сегодня - вытаскивать данные и "заполнять" контролы вручную (кстати, я так и делаю). Это не будет проще, но определенные преимущества есть.

  6. На форму кладём TTabControl с двумя табами. На одном из них помещаем ComboBox.

     

    В процедуре формируем item'ы. Примерно так:

    procedure TForm1.FormCombo(aCombo: TComboBox);
    var
     Item: TListBoxItem;
     i: integer;
    begin
    
        aCombo.BeginUpdate;
        aCombo.Items.Clear;
    
         for I := 0 to 2 do
         begin
            Item := TListBoxItem.Create(nil);
            Item.Text := 'Item '+IntToStr(I);
            Item.StyleLookup:= 'listboxitemstyle';
            Item.Parent := aCombo;
         end;
    
        aCombo.EndUpdate;
    end;
    

    Вызываем при создании формы:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FormCombo(ComboBox1);
      ComboBox1.ItemIndex:= 0;
    end; 

    и пересоздаем список item'ов после переключения табов.

    procedure TForm1.TabControl1Change(Sender: TObject);
    begin
      if TabControl1.TabIndex= 0 then
      begin
        FormCombo(ComboBox1);
        ComboBox1.ItemIndex:= 0;
      end;
    end;
    

    Естественно, устанавливаем активный item, после того как их список сформирован.

     

    В XE7 всё работает как часы.

    В XE8 - артефакт. После переключения табов активный Item - нулевой, но ComboBox не отображает его значение. Визуально это выглядит так, будто ItemIndex = -1.

     

    imagejcj.png

     

    Проекты для XE7 и XE8 прикрепил.

     

    https://yadi.sk/d/4FGvgF-ti5dWz

  7.  

    Lenovo S850 и Lenovo S820 работают как часы и под XE7 и под XE8.

    Lenovo Yoga Tablet 2-830F (Intel CPU) не то, что не отлаживается... Даже приложение, написанное на XE7 и работающее на всех вышеперечисленных устройствах тупо не запускается. Хотя форму с кнопкой, конечно запустить удалось, реальное приложение не работает.

    значит косячки у Вас где-то... у меня так было почему то с StyleBook удалили, опять положил на форму - все заработало!

     

    Заработало на Интеловском проце?

     

  8. Lenovo S850 и Lenovo S820 работают как часы и под XE7 и под XE8.

    Lenovo Yoga Tablet 2-830F (Intel CPU) не то, что не отлаживается... Даже приложение, написанное на XE7 и работающее на всех вышеперечисленных устройствах тупо не запускается. Хотя форму с кнопкой, конечно запустить удалось, реальное приложение не работает.

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

    http://fire-monkey.ru/topic/1203-debug-na-android-devaise-pod-xe8-ne-rabotaet/

     

    Лично мне кажется, что не работает отладка на каких-то конкретных устройствах...

  10. Совершенно случайно вчера стал обладателем чудного устройства Huawei Ascend G630-U10.

    Дебаг работает и под XE7 и под XE8. На Sony Xperia M2 по-прежнему под XE8 не дебажится (пробовал на двух машинах!)

    Еще 2 модели Lenovo есть для опытов. Завтра попробую. Думаю, проблема либо в конкретных моделях устройств, либо в каких-то хитрых настройках.

  11. Под XE8 есть свои.

    http://cc.embarcadero.com/item/30180

    Беспокоит только другой вопрос. В XE7 работает только половина стилей из набора FireMonkey Premium Styles Pack. На некоторых стилях реальное приложение тупо валится... Как ловить подобные ошибки не имею ни малейшего представления

  12. У меня на Windows 8.1 Delphi XE8 дебаг и на девайсе работает даже лучше чем на XE7

    Нет, это понятно. Если релиз был выпущен, то, естественно, у большинства пользователей оно работает.

    Поэкспериментировал. Попробую немного прояснить ситуацию.

     

    У меня два Андроид устройства.

     

    Xperia M2 и Asus Nexus 7" 2012. На них Android 4.4.4 и Android 5.1, соответственно.

    Под XE7 с версией SDK 22.3 32 bit всё работает как часы.

     

    Под XE8 на 24.0.2  на Nexus 7 с Android 5.1 отладка тоже работает. На Xperia отладка не работает. Импортировал SDK от XE7- тоже самое.

     

    Попробовал другую версию SDK, не помогает. На XE7 все работает прекрасно.

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