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

DMS

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

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

  • Посещение

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

  1. 11 часов назад, Brovin Yaroslav сказал:

    Для режима DropDownKind = TDropDownKind.Native TComboBox берет только текст от итемов. Поэтому, если вам нужны иконки и возможность пользоваться всеми свойства TListBoxItem, переключите режим на:

    
    ComboBox1.DropDownKind := TDropDownKind.Custom

    Помимо этой строчки, нужно что-то еще писать в коде? У меня иконки не появились

  2. 13 часов назад, krapotkin сказал:

    в любом контексте это плохой стиль.

    то что он в оф примерах это еще хуже

    А как думаете, для чего в том коде Application.ProcessMessages? Какую задачу там выполняет? (не случайно же вставлен)

    Пример же для мобильных устройств.

  3. Все любят так говорить.

    А вот официальный пример от Эмбы: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Tokyo/Object Pascal/Multi-Device Samples/User Interface/KeyboardTypes

    procedure TVKBaseForm.UpdateKBBounds;
    
    var
    
    LFocused : TControl;
    
    LFocusRect: TRectF;
    
    begin
    
    FNeedOffset := False;
    
    if Assigned(Focused) then
    
    begin
    
    LFocused := TControl(Focused.GetObject);
    
    LFocusRect := LFocused.AbsoluteRect;
    
    LFocusRect.Offset(VertScrollBox1.ViewportPosition);
    
    if (LFocusRect.IntersectsWith(TRectF.Create(FKBBounds))) and
    
    (LFocusRect.Bottom > FKBBounds.Top) then
    
    begin
    
    FNeedOffset := True;
    
    MainLayout1.Align := TAlignLayout.Horizontal;
    
    VertScrollBox1.RealignContent;
    
    Application.ProcessMessages;
    
    VertScrollBox1.ViewportPosition :=
    
    PointF(VertScrollBox1.ViewportPosition.X,
    
    LFocusRect.Bottom - FKBBounds.Top);
    
    end;
    
    end;
    
    if not FNeedOffset then
    
    RestorePosition;
    
    end;

     

  4. Как отобразить айтемы с иконками?

    Вот так не работает:

    procedure TFormMain.FormCreate(Sender: TObject);
    var
      ListBoxItem: TListBoxItem;
      I: Integer;
    begin
      for I := 0 to 2 do
      begin
        ListBoxItem := TListBoxItem.Create(ComboBox1);
        ListBoxItem.ItemData.Text := 'Item Random ' + I.ToString;
        ListBoxItem.ItemData.Bitmap := Image1.Bitmap;
    
        ComboBox1.AddObject(ListBoxItem);
      end;
    end;


     

    Спасибо!

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

    var
    
      thread: TThread;
    
    begin
      thread := TThread.CreateAnonymousThread(
        procedure
        begin
        //тут отправляем данные на сервер через THTTPClient.Post
    
          TThread.Synchronize(TThread.CurrentThread, procedure
        begin
            // если нужно делаем что-то в основном потоке
        end)
        end);
      thread.FreeOnTerminate := true;
      thread.start;
    end;
    TTask.Run(procedure
    begin
        //тут отправляем данные на сервер через THTTPClient.Post
    
        TThread.Synchronize(TThread.CurrentThread, procedure 
        begin
            // если нужно делаем что-то в основном потоке
        end)
    end)

     

    Спасибо!

  6. Имеется Android-приложение, в нем пользователь должен заполнить анкету и отправить на сервер. Часть из полей вводится вручную, часть - выбирается из списка. Списки содержат значения, которые подгружаются из сервера.

    Если загружать списки синхронно с сервера и заполнять затем Combobox-ы, то всё работает, но долго (5-7 списков). Поэтому возникла мысль отправлять асинхронные запросы (NetHTTPClient), чтобы они параллельно отработали и быстро заполнили списки, но насколько надежно это в Android-приложении?

  7. Первый раз такая ошибка.

    Несложное Android-приложение вылетает. При debug-е говорит:

    Project <...> raised exception class EJNIException with message 'java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />'.

     

    Может кто сталкивался и как-то решал?

  8. 7 минут назад, FREEFAR сказал:

    Неплохо пишем под iOS , в офисе макПро + iPhone 6. Дома хакинтош + телефон. 

    Личное наблюдение , через ВМ значительно быстрее собирается приложение. Очень комфортно 

    Овчинка стоит выделки? Каждый год по 100 баксов отдавать

  9. Здравствуйте!
    Как сделать такое приложение на Андроиде, чтобы было удобно ввести значения для множества полей TEdit?
    На форме больше 10 эдитов друг под другом (различные поля). Когда спускаемся к 8-му эдиту, то при выплывании клавиатуры не видно, что мы вводим в эдите.

    Как выйти из положения?

  10. В 01.03.2018 в 13:26, kami сказал:

    Достаточно много посетителей форума говорило, что работает с XCode на виртуалке.
    Получается - не нужен.

    Кстати, а почему так мало вопросов на форуме по сабжу? Такое ощущение, для Android-а на Delphi пишут десятки, если не сотни, а для iOS - три с половиной человека.

  11. В чем разница между сабжевыми понятиями?
    Правильно ли я понимаю, что и первое, и второе может с успешностью работать с архитектурой REST API?

    В первом случае:
    через RESTClient1 устанавливаем параметры, а саму отправку
    RESTRequest1.Method:=TRestRequestMethod.rmGET (rmPost, rmDelete);
    RESTRequest1.Execute;

    А во втором случае:
    HTTPClient1.Post (Get, Delete) с параметрами.

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