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

Kitty

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

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

  • Посещение

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

    16

Активность репутации

  1. Like
    Kitty отреагировална AngryOwl в Можно ли задать минимальные размеры для формы?   
    Я думаю со мной согласится абсолютное большинство, что ограничение размеров формы - это проблема!
    Причем проблема с "большой буквы".
    Как это сделать в VCL - все в курсе.
    Предвидя ответ, что это можно сделать самому "ручками", спрошу - почему все должны лезть в исходники Firemonkey и править "родные" модули, дабы достичь нужного результата?
    Вроде это самые элементарные свойства (предопределение минимальных/максимальных размеров формы).
    Поэтому очень хотелось бы вынести это "обсуждение"/проблему на рассмотрение Embarcadero. И, конечно, хотелось бы чтобы они эту проблему решили и решили в срочном порядке.
     
    Согласитесь (думаю и наши уважаемые гуру согласятся), что этот вопрос относится к элементарным и основным проблемам.
    Представьте себе любого начинающего FMX-прогера, который в первом же своем FMX-проекте столкнется с данной проблемой...
     
    P.S. Как крайний вариант - рассматриваю коллективное обсуждение и решение этой задачи с публикацией кода.
  2. Like
    Kitty отреагировална Brovin Yaroslav в [XE7] [TEdit] [Отклонение] Не срабатывает событие OnClick у TEdit   
    Добрый день,
     
    Это ошибка, ее устранили в будущей новой версии среды. Для обхода проблемы в других версиях среды, нужно использовать следующий подход:
    var StyledPresentation: TStyledControl; begin StyledPresentation := nil; if Edit1.HasPresentationProxy then StyledPresentation := Edit1.PresentationProxy.Receiver as TStyledControl; if StyledPresentation <> nil then StyledPresentation.OnClick := Edit1Click; // <-- программно задать свой обработчик end; Код для С++ Builder:
    void __fastcall TForm2::FormCreate(TObject *Sender) { TStyledControl* styledPresentation; if (Edit1->HasPresentationProxy()) { styledPresentation = dynamic_cast<TStyledControl*>(Edit1->PresentationProxy->Receiver); styledPresentation->OnClick = Edit1Click; // <-- программно задать свой обработчик } }
  3. Like
    Kitty отреагировална xenon54 в Изменение позиции панели жестами   
    В обработчике событий жестов есть константа "EventInfo.Location" это текущее положение пальца. Каждый раз при срабатывании обработчика запоминаешь текущую позицию и в следующий раз смотришь куда и на сколько сместился палец. И соответственно меняешь на столько координаты своей панели. Так же в этой константе есть флаги "EventInfo.Flags" из которых можно узнать сейчас палец идет по экрану или его отпустили. Проверяешь, если палец отпустили, то смотришь текущие координаты панели, и дальше решаешь что с ней делать: через анимацию двигать обратно, или завершать движение.
  4. Like
    Kitty отреагировална xenon54 в Изменение позиции панели жестами   
    У мультивью есть большой минус - он съедает край экрана, и если на самом краю кнопка, то мультивью не позволит ее нажать.
  5. Like
    Kitty отреагировална Brovin Yaroslav в Исключение прямоугольной области при выборе случайного значения на двумерной сетке   
    Еще есть вариант на одномерном примере. 
     
    Идея ввести параметр, который будет принимать случайное значение от 0 до суммы двух отрезков. Потом проверять, Если параметр попадает в первый отрезок по длине, то добавляем начальную координату отрезка. Если во второй, то добавляем начальную координату второй части. 
     

  6. Like
    Kitty отреагировална AngryOwl в Передача изображения в потоке   
    function SaveBitmapToStream(const AStream: TStream; const Bitmap: TBitmap; const Extension: string;   SaveParams: PBitmapCodecSaveParams = nil): Boolean; var   surf: TBitmapSurface; begin   Result := False;   surf:= TBitmapSurface.Create;   surf.Assign(Bitmap);   try     Result := TBitmapCodecManager.SaveToStream(AStream, surf, Extension, SaveParams);   finally     surf.Free;   end; end; ну и вызывать типа так:
    var   tmpBitmap  : FMX.Graphics.TBitmap;   SaveParams : FMX.Graphics.TBitmapCodecSaveParams;   Stream     : TMemoryStream; // ..... tmpBitmap := TBitmap.Create; // .............. Stream := TMemoryStream.Create; try SaveParams.Quality := 85; SaveBitmapToStream(Stream, tmpBitmap, '.jpg', @SaveParams); Stream.Position := 0; // .................... // .................... finally FreeAndNil(Stream); end;
  7. Like
    Kitty отреагировална xenon54 в Один размер под разные дисплеи   
    Нет, просто помещаете все на TScaledLayout, а он сам уже вычисляет увеличить надо или уменьшить.
  8. Like
    Kitty отреагировална Andrey Efimov в Черный экран   
    Такая же ситуация была на Samsung Galaxy S2, я отрапортовал о баге (в версии XE5), обещали исправить в след. версии, в итоге баг закрыли, написали "Исправлено", но когда вышла новая версия среды, баг там всё также был. Повторюсь, ситуация была совершенно идентичной.
  9. Like
    Kitty отреагировална xenon54 в Как получить IMEI?   
    IOS не позволяет получить IMEI устройства.
  10. Like
    Kitty отреагировална Martifan в Как получить IMEI?   
    а для Android:
     
    Uses Androidapi.JNI.Telephony, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText;   function TfMain.GetMyImei: string;   var   TelephonyObj: JObject;   TelephonyManager: JTelephonyManager; begin   Result := '';   TelephonyObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);   TelephonyManager := TJTelephonyManager.Wrap((TelephonyObj as ILocalObject).GetObjectID);   Result := JStringToString(TelephonyManager.getDeviceId); end;
  11. Like
    Kitty отреагировална Alex7wrt в Admob не могу понять...   
    Estra ответил на вопрос относительно кнопки "Назад".
    Что касается баннера, возможно здесь нужно задать размеры.
    Попробуйте например выставить align в mostbottom и посмотрите, что получится.
     
    Вы используете процедуру BannerAd1ActionCanBegin, в теле которой загружаете баннер.
     
    Описание этого события гласит: "Occurs after your user taps the advertising banner, and before the banner responds to this user action." То есть событие происходит после того как пользователь нажмет на баннер. Поэтому в Вашем коде баннер грузится только после нажатия на контейнер. Вы точно здесь ничего не путаете?
  12. Like
    Kitty отреагировална Brovin Yaroslav в [Вебинар] Новый подход к разработке компонентов FireMonkey в RAD Studio XE8. Часть 1   
    Выложена запись вебинара. Смотрите предыдущее сообщение.
  13. Like
    Kitty отреагировална xenon54 в Философский вопрос пока, но....   
    Я имел ввиду что используются вызовы сторонних функций (cdecl) и ФМ абсолютно все равно как там что реализовано и на каком языке, мы просто юзаем их внешние методы. Если классы и их методы имеют те же названия, то это не должно повлиять на работу ФМ.
  14. Like
    Kitty отреагировална estra в [TRESTClient] Как добавить данные в заголовок запроса (Authorization)?   
    Оно?
    RESTClient1.Params.AddHeader()
  15. Like
    Kitty отреагировална estra в Admob не могу понять...   
    как то так
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkHardwareBack then // если закрывать не нужно, то begin // делай что нужно Key := 0; KeyChar := #0; end; end;
  16. Like
    Kitty отреагировална Brovin Yaroslav в [Вебинар] Что нового в FireDAC XE8   
    Записи ведуться и выкладываются на российский канал Embarcadero в YouTube: http://www.youtube.com/channel/UCtqzKKPLL1uoI7yyCBmKP1w
    Плейлист с вебинарами: http://www.youtube.com/playlist?list=PLNexYoB7XRWZv-6QviwJzdRKthKuBR_dG
  17. Like
    Kitty отреагировална Brovin Yaroslav в [Вебинар] Что нового в FireDAC XE8   
    Тема: Новый подход к разработке компонентов FireMonkey в RAD Studio XE8  Дата и время: 22 апреля 2015 года в 12:00 Участники: Денис Васильев и Дмитрий Арефьев Регистрация: ссылка Участие бесплатное. Запись вебинара будет доступна здесь: http://www.youtube.com/playlist?list=PLNexYoB7XRWZv-6QviwJzdRKthKuBR_dG
    На вебинаре мы рассмотрим следующие темы:
    новый Teradata драйвер поддержка InterBase Change Views унифицированные извещения об изменениях (MSSQL и IB) поддержка iOS 64-битного dbExpress - FireDAC миграция В вебинаре примет участие Дмитрий Арефьев, главный разработчик и идеолог FireDAC.
  18. Like
    Kitty отреагировална xenon54 в [TForm] Задание фонового изображения для формы   
    У формы есть специально свойство Fill для этого.
  19. Like
    Kitty отреагировална Brovin Yaroslav в Touchtargetexpansion перестал работать в xe8   
    Временный фикс. Применить эту процедуру в OnCreate или OnShow для тех контролов, для которых не работает TouchTargetExpansion:
    uses FMX.Presentation.Style; procedure FixTouchTargetExpansion(const PresentedControl: TPresentedControl); begin if PresentedControl.HasPresentationProxy and (PresentedControl.PresentationProxy.Receiver is TStyledPresentation) then TStyledPresentation(PresentedControl.PresentationProxy.Receiver).TouchTargetExpansion := PresentedControl.TouchTargetExpansion; end;
  20. Like
    Kitty отреагировална Brovin Yaroslav в [Вебинар] Новый подход к разработке компонентов FireMonkey в RAD Studio XE8. Часть 1   
    Тема: Новый подход к разработке компонентов FireMonkey в RAD Studio XE8  Дата и время: 22 апреля 2015 года в 12:00 Участники: Денис Васильев и Бровин Ярослав Регистрация: ссылка Участие бесплатное Запись вебинара будет доступна здесь: http://www.youtube.com/playlist?list=PLNexYoB7XRWZv-6QviwJzdRKthKuBR_dG
    Добрый день,
     
    Завтра 22 апреля 2015 года в 12:00 по московскому времени пройдет вебинар на тему "Новый подход к разработке компонентов FireMonkey в RAD Studio XE8". В рамках данной темы мы познакомимся с новым подходом разработки и добавим в стандартную edit поддержку автозавершение текста. Рассмотрим особенности работы с Z-ордер. В вебинаре примет участие Ярослав Бровин, ведущий разработчик Embarcadero.
     

  21. Like
    Kitty отреагировална xenon54 в Проблема XE8 на живом девайсе.   
    Да тут чайник не чайник, любой может потрахаться с этой ... Эта ошибка означает что имя проекта у вас не совпадает с идентификатором который вы указали в дев центре. Начиная с  IOS 8.1.3 это важно. К примеру вы выбираете провижн профиль в котором прописан ID приложения "wow.test", а проект у вас называется "project1", должны совпадать. Ну или ID должен быть wildcard. Советую открыть сгенерированный ".entitlements" и проверить что там идентификаторы совпадают с сертом.
  22. Like
    Kitty отреагировална Andrey Efimov в Проблема при выходе из программы   
    Close не работало в XE5 и вроде в XE6 (я писал об этом в статье, по ссылке выше).
    Сейчас проверил в XE8:
    Close() - работает, делает похоже, тоже самое, что и MainActivity()->finish().
    Получается теперь можно использовать обычный Close().
  23. Like
    Kitty отреагировална haword в Проблема при выходе из программы   
    смотри процессы запущенные а не историю запуска. 
  24. Like
    Kitty отреагировална #WAMACO в Проблема при выходе из программы   
    так а с чего вы решили, что оно не закрывается? вы его видите в истории ранее открытых приложений просто!
    это разные кейсы!
  25. Like
    Kitty отреагировална Belov.V. в Проблема при выходе из программы   
    MainActivity()->finish() или SharedActivity()->finish() должны выгружать приложение полностью (MainActivity.finish; - корневая активити, а SharedActivity.finish - ... пока к сожалению тоже только корневая).
     
    То, что Вы видите приложение в списке не значит, что оно загружено. Это список загруженных ранее, а не находящихся в памяти. К примеру, чтобы в списке не оставался, есть ключ для файла манифеста android:noHistory="false".
×
×
  • Создать...