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

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

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

    390

Весь контент Brovin Yaroslav

  1. XE8 еще не вышла. Как только на главной странице сайта https://www.embarcadero.com/ появится об этом новость. Значит XE8 официально вышла.
  2. Добрый вечер, У TidHttp есть перегруженный метод получения ответа с возможностью указания потока. Сервер по указанному адресу присылает ответ в ANSI кодировке. А у функция Get возвращает UnicodeString в С++ Builder. Поэтому решение - это представить полученный ответ в ANSI кодировке: C++: TStringStream *SS = new TStringStream(L"", TEncoding::ANSI, false); try { UnicodeString URL = "http://seatr.do.am/AntiCafe48/30.03.2015"; IdHTTP1->Get(URL, SS); ShowMessage("Response: " + SS->DataString); } __finally { SS->Free(); } Delphi: var SS: TStringStream; begin SS := TStringStream.Create('', TEncoding.ANSI); try IdHTTP1.Get('http://seatr.do.am/AntiCafe48/30.03.2015', SS); ShowMessage('Response: ' + SS.DataString); finally SS.Free; end; end; Результат:
  3. Я завел багу во внутренний треккер. Можете, конечно, ее продублировать в quality.embarcadero.com
  4. Для содания стиля сообщения используйте TStyleObject. Он позволяет исходную растровую картинку облака собщения растягивать в любой размер.
  5. Добрый день, посмотрите на свой код внимательнее. Вначале вы создаете битмап. В нем рисуете линию. Потом очищаете битмап в image1. И заливаете фон белым цветом Потом заменяете очищенный битмап в Image1, своим MyBitmap. В итоге результат работы метода Clear скрывается. На счет артефактов, я не вижу их на воспроизведенном примере. Линия есть. Если вы выложите ваш проект, чтобы на нем можно было посмотреть, было бы здорово.
  6. Добрый день, Я бы взял TScrollBox для контейнера сообщений. Каждое сообщени представил в виде TLabel с вашим стилем в виде облаков TLabel поместил в TLayout и внутри него выравнивал бы по правому или левому краю. А сами TLayout выравнивал бы по верху.
  7. Добрый день, Используйте TGridLayout. У него вы только указываете размер элемента (ItemWidth, ItemHeight). Далее этот компонент автоматчиески все дочерние контролы выстраивает в сетку с размером ячейки ItemWidth x ItemHeight
  8. Такая опция добавлена для пользователей. Поддерживаются два типа удалений: Скрытие. Скрытие от пользователей вашего сообщений с возможностью восстановление. Скрытое сообщение доступно на просмотр модераторам и администраторам Удаление. Полное удаление сообщение без возможности восстановить.
  9. TList не освоождает память своих элементов. А вот, если вы хотите, чтобы оъекты-элементы тоже удалялись и есть TObjectList. Но освобождать память под объекты или нет, зависит от значения параметра AOwnedObject при создании списка. Да
  10. Добрый день, Если код компилируется без ошибок и предупреждений, то можно считать, что это баг в Structure. P.S. Однако в вашем коде: Совершенно лишняя реализация метода Clear. Если при создании вашего TObjectList в конуструкторе указать AOwnsObjects = True. То метод Clear из TList<> удалить и распустит ваши элементы. Совершенно лишняя реализация метода Free. Этот метод базовый и присутствует во всех класса, так как он введен на уровне TObject.
  11. Запрашиваете сервис IFMXClipBoardService. У него есть два метода для копирования данных любого типа в буфер и обратно. uses FMX.Platform, System.Rtti; {$R *.fmx} procedure TForm13.Button1Click(Sender: TObject); var Service: IFMXClipBoardService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXClipBoardService, Service) then begin Service.SetClipboard(TValue.From<string>('My Text')); // Service.GetClipboard.AsString // Получения строкового значения обратно. end; end;
  12. У вас случайно TMediaPlayer не распускается после выхода из процедуры? Проверьте вызов деструктора....
  13. Описание: Назначение: Получение основных событий приложения, путем подвешивания обработчиков на события компонента в дизайнере Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\ApplicationEventsDemo\ApplicationEventsDemo.dproj Доступен с версии: XE7 Возможности: Все события перехватываю события во всем приложении. Получение результатов (интентов) из других приложений (OnActivityResult) Нотификация о выполнения Action в TAсtionList (OnActionExecute) Нотификация о обновлении Action в TAсtionList (OnActionUpdate) Перехват любого исключения в приложении (OnException) Простой приложения (OnIdle) Оповещение об изменении размера формы (OnFormSizeChanged) Оповещение о необходимости сохранить данные UI формы при изменении состояния приложения. Особенно актуально для мобильных платформ (OnSaveState) Изменение состояния приложения (OnStateChanged) Факт изменения стиля формы (OnStyleChanged) Изменение ориентации устройства (OnOrientationChanged) Все формы приложения на старте созданы (OnFormsCreated) Форма приложения разрушается (OnFormReleased) Изменение главной формы (OnMainFormChanged) Изменение заголовка главной формы (OnMainFormCaptionChanged) Уведомление об отображении формы (OnFormBeforeShown) Уведомления об активации и деактивации формы (OnFormActive, OnFormDeactivate) Уведомления о создании и разрушении формы (OnFormCreate, OnFormDestroy) Изменение скейла экрана (OnScaleChanged)
  14. TfgFlipView - стилевой компонент, требующий специальный стиль. Стиль идет вместе с библиотекой FGX для XE8 и находится в папке Styles\TfgFlipView.style Если вы хотите использовать этот компонент в ваших приложения то нужно добавить этот стиль в ваше приложение. Существует два способа: Использовать TStyleBook. Загрузить в него стиль и прикрепить к форме. Загрузить стиль, как ресурс. Если с первым действия ни чем не отличаются от загрузки любого стиля, то второй способ рассмотрим подробнее. Этот способ использован в примере Samples\FlipViewDemo. Открываем Project -> Resource and Images ... Добавляем файл стиля, используя кнопку Add... Resource Type - RCDATA Resource Identifier - TfgFlipViewStyle
  15. Добрый день, Принимайте участие в конкурсе разработки мобильных приложений. Подробности ниже из официального пресс-релиза. От себя добавлю, что попробовать принять участие стоит того. По опыту прошлого года, работы были очень разные по идеи, плану и исполнению. Поэтому любой разработчик с любым уровнем владения FireMonkey и Delphi имеет хороший шанс на победу в конкурсе. А ценные призы станут хорошим поощрением. Сайт конкурса: http://www.delphimobile.ru/ Группа в FaceBook: https://www.facebook.com/EmbarcaderoRu?ref=aymt_homepage_panel
  16. При чем здесь SDK. Проблема в версии симулятора. Новая версия SDK полностью совместима со всеми предыдущими. А вот новая версия iOS накладывает на новые приложения дополнительные требования по запуску. Поэтому старый вариант запуска (банально набор ключей в файлах info.plist и entatlements могут устаревать) может не проходить. Поэтому, чтобы запустить ваше приложение по старой схеме требуется запускать ваше приложение на более старой версии симулятора. Как получить такой симулятор я указал выше. После установки, новые варианты симулятора должны появится в среде в ветке Target. Предварительно нажмите в контекстном меню на Target - Update.
  17. При выборе таргета в среде указали симулятор с предыдущей версией iOS?
  18. На сколько я вижу, то хедер оформляется как TListViewItem, у которого свойство Purpose равно Header. Я вижу такой алгоритм получения хедера: uses System.Math; {$R *.fmx} function ExtractGroupHeaderItem(Items: TListViewItems; Selected: TListViewItem): TListViewItem; var PreviousItem: TListItem; Index: Integer; begin Assert(Items <> nil); Assert(Selected <> nil); Index := Selected.Index; while InRange(Index, 0, Items.Count - 1) and (Items[Index].Purpose <> TListItemPurpose.Header) do Index := Index - 1; if InRange(Index, 0, Items.Count - 1) then Result := Items[Index] else Result := nil; end; Соответственно, чтобы получить хедер, если он есть для выделенного итема, нужно вызывать функцию так: ExtractGroupHeaderItem(ListView1.Items, ListView1.Selected);
×
×
  • Создать...