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

zairkz

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

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

  • Посещение

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

    12

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

  1.  

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

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

     

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

  2. Для подключения к базе на удаленном хостинге, необходимо:

    1. Выделенный IP адрес, (хостинг на выделенном сервере или VDS)

    2. На сервере настроить в брэндмауре пакеты MySQL на порт 3306 (по умолчанию)

    3. Возможно на маршрутизаторе хостинга закрыты порты, обычно нужно написать чтобы открыли порт.

    4. Настроить сам MySQL, добавить учетную запись на соединение из вне или дать доступ root (не желательно).

    5. Зайдите на сервер лучше по RDP (удаленный рабочий стол), и можете через программу dbForge (бесплатная) добавить учетную запись, указав подключение хоть от куда (то есть %)

    6. Далее попробуйте подключиться для начала со своего компьютера через dbForge

    7. FireDac не использую, там херь какую то надо настраивать с драйверам)), но ZuBy позже скинет исходник коннекта к MySQL через FireDac. 

    8. Использую платный MyDac от Devart, если вам лень и вы НЕ СМОЖЕТЕ с FireDac работать (как я), тогда могу скинуть свой MyDac. писать в ЛС. ;)

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

    procedure RenderingSetupCallback(const Sender, Context: TObject; var ColorBits, DepthBits: Integer; var Stencil: Boolean; var Multisamples: Integer); 
    begin
      ColorBits := 16; // default is 24
      DepthBits := 0; // default is 24
      Stencil := false; // default is True
      Multisamples := 0; // default depends on TForm.Quality or TForm3D.Multisample
    end;

    И прописать в событии FormCreate

    procedure TForm_main.FormCreate(Sender: TObject); var SetupService: IFMXRenderingSetupService;
    begin
      if TPlatformServices.Current.SupportsPlatformService(IFMXRenderingSetupService, IInterface(SetupService))
        then SetupService.Subscribe(RenderingSetupCallback);
    end;
  4. Добрый день!

     

    Для слайда пришлось писать своего потомка над TTabControl, все в нем реализовано. Правда пришлось часть кода "некрасиво" реализовать, некоторые сущности и объекты не было возможности достать из стандартного TTabControl.

    Может быть Вы будете так добры и поделитесь данным функционалом, :D, или хотя бы подробнее описать реализацию.

  5. Знаете! Я снял галки в Multi-Device Preview с Айфон 4 и Айфон5 ни чего не закрывал и проблема пока не появляется))) Если появится я попробую ваш совет

    Ну так то, я это и писал чтобы отключить превью ;))

  6. Проблема 1: Есть встроенная функция CreateThumbnail в Delphi

    Проблема 2: Нужно пересохранить в другой формат (по умолчанию не сжатый bmp вроде как)

     

    Попробуйте сделать так

    uses FMX.Surfaces;

     

    procedure TmyThread.RescalePhoto(const FileName: string);
    const
      DefaultHeight = 300;
    var
      Bitmap: TBitmap;
      BitmSur:  TBitmapSurface;
      TBSS:   TBitmapCodecSaveParams;
      xScale: Double;
      newWidth, newHeight: integer;
    begin
      Bitmap := TBitmap.Create;
      try
        try
          Bitmap.LoadFromFile(FileName);
          // установим высоту в 300 пикселей.
          if Bitmap.Height <> DefaultHeight then
            begin
              xScale := Bitmap.Height / DefaultHeight;
              newHeight := DefaultHeight;
              newWidth := Round(Bitmap.Width / xScale);

              Bitmap.CreateThumbnail(newWidth, newHeight);
              TBSS.Quality := 90; //Укажите качество
              BitmSur:= TBitmapSurface.Create;
              BitmSur.Assign(Bitmap);
              TBitmapCodecManager.SaveToFile(FileName, BitmSur, @TBSS); //Сохраняем в файл
            end;
        except
          DeleteFile(FileName);
          raise;
        end;
      finally
        Bitmap.Free;
        BitmSur.Free;
      end;
    end;

  7. В скриншоте не выключены превью стили в Multi-Device Preview.

    0. Перезапустите Дельфи

    1. Создайте новый проект MultiDeviceProject

    2. Выключите превью стилей в меню Multi-Device Preview как у Вас в скриншоте.

    3. Закройте проект не сохраняя

    4. Откройте свой проект (не перезапускайте Delphi)

     

    Попробуйте пожалуйста еще раз.

  8. Если я правильно понял, то на рабочем столе еще появляется не сворачиваемая отрисовка вашей формы, которая очень напрягает память и скорость работы самой среды, такая фигня в XE8, избавляюсь от неё следующим образом:

    Открыть Delphi, перед открытием вашего проекта создать новый проект MultiDeviceProject, зайти в меню View -> Multi-Device Preview -> в нем кнопочка Select Views to Preview (hint) отключить все превьюхи и закрыть проект не сохраняя, открыть ваш проект и все ок. 

    После перезапуска повторяю данные телодвижения, хз как сохранить.

  9. Что то я по описанию не увидел проблему, сделал проект такой же все работает TestLV

     

    Вызываю очищение и добавления ListView по нажатию ListBoxItem'a.

    while ListView1.ItemCount>0 do ListView1.Items.Delete(0);

     

    ListView1.BeginUpdate;
       for i := 0 to 50 do ListView1.Items.Insert(0).Text:='Text - '+i.ToString;
    ListView1.EndUpdate;

     

    На счет удаления из ListView компонента по нажатию, то есть из самого себя, есть проблемка, не сбрасывается ссылка на Item, пришлось обходить её через таймер (1 мс) ;)

    Сохраняю Aitem.index в глобальную переменную и по таймеру удаляю Итем по индексу, потом выключаем таймер. Незнаю на сколько это правильно, но все работает и меня устраивает. В проекте выше есть

  10. я не знаю может я сенсацию скажу но у меня на оборот на XE8 ListBox лучше работает

     

    ListBox да на много лучше и быстрее стал работать, но здесь вопрос про ListView, и проблемка такая же у  меня, и вроде как Repaint спасает через раз.

  11. В ListView ошибка была в ListBox не знаю. Да и вообще, зачем сразу переходить на 8? никто вас не тянет же за хвост туда :) пускай народ оттестирует, выпустят sp1 вот тогда и можно будет переходить в ожидании xe9.

    Такой вопрос: то есть, ты в ListView загружаешь данные, потом на ItemClick клик очищаешь Этотже ListView и добавляешь новые данные?

  12. Точно не знаю, но может лучше использовать ListView он по шустрее на мобиле, и как вариант предлагаю использовать вариант с передачей необходимых значений с помощью Tag

    1. Загрузка первой таблицы:

     

    {Form.Create } Загрузка первой страницы

    FDQuery1.SQL.Clear;
    FDQuery1.SQL.Add('select * from kategorii');
    FDQuery1.OpenOrExecute;
    ListView1.Clear;
    ListView1.BeginUpdate;
    for i:=0 to FDQuery1.RecordCount-1 do
         begin
            ListView1.Items.AddItem(i);
            ListView1.Items.Item(i).Text:=FDQuery1.FieldByName('nam1').AsString;
            ListView1.Items.Item(i).Tag:=FDQuery1.FieldByName('kateg').AsInteger;
            FDQuery1.Next;
         end;
    ListView1.EndUpdate;

    Загрузка второй таблицы

    { ListView1ItemClick(const Sender: TObject;  const AItem: TListViewItem) } Событие ItemClick на ListView1 передает объект ListView; оттуда и цепляем Tag;
    Form2.FDQuery2.Close;
    Form2.FDQuery2.SQL.Clear;
    Form2.FDQuery2.SQL.Add('select razdel.NAM2 from razdel WHERE razdel.kateg2=Aitem.Tag; 
    Form2.FDQuery2.OpenOrExecute;
    И так же загружай в ListView2 (Шустрее работает с BeginUpdate и EndUpdate);
  13. Тоже очень интересует ответ, или направьте пожалуйста, как отловить нажатия кнопки в HTML страничке в TWebBrowser ?

     

    Вообще схема следующая есть переменная string в ней HTML код внутри которого javascript, после выполнения скрипта определенные данные мне нужно получить в переменные, пока решил туповато пишу в MySql эти данные с помощью JavaScripta, по возврату в другую вкладку делаю запрос в MySql. В принципе работает, но хотелось бы конечно без бубнов, хотя эти данные все равно запишутся в БД.

    Вопрос другой, по завершению всех манипуляций мне нужно нажать на кнопку HTML и переместиться в другую вкладку. 

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