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

SerhioUser

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

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

  • Посещение

Весь контент SerhioUser

  1. К сожалению у 3D-контролов нельзя (ну или я не знаю как) жестко указать Z-Order. У FMX алгоритм размещения в Z-плоскости при ZWrite=false мне пока не ясен.
  2. Как задать Z-последовательность 3d-объектов, например TImage3D, у которых ZWrite=false. Пробовал менять Position.Z - не помогает. Картинка становится маленькая и "далеко", но если она была поверх другой, то так сверху и остается. Как уже где-то писали BringToFront и SendToBack не работают. Но OpenGL ведь отрисовывает их последовательно. Значит где-то есть этот порядок. Как до него добраться?
  3. Спасибо. Это уже что-то. Но нужно получить примерно вот такое: То есть смасштабировать вписанное изображение, а не просто обрезать по TPath.
  4. Можно ли на обычном TForm как-то отрисовать TImage, что-бы он был не прямоугольным, а например трапецией или ромбом, с соответствующим рендерингом картинки в этот четырехугольник? Другими словами можно ли повлиять на координаты углов картинки в TImage?
  5. "таргет" - это я так понимаю в новой версии QC - "Project". Так вот в этом поле по умолчанию "Appmethod". Без вариантов.
  6. Эхх... Походу триал-версия прав на баг-репорт не дает. Я прав?
  7. На http://qc.embarcadero.com говорят, что у них теперь новый сайт для баг-репортов: https://quality.embarcadero.com Захожу туда, нажимаю "Create issue". В открывшемся окне в поле "Project" в списке есть только "Appmethod". А я хочу запостить баг по Rad Studio XE8. Если вписать вручную - сбрасывается на "Appmethod". Баг-репорты еще не отправлял. Как это делается правильно?
  8. SerhioUser

    TImage3D Transparency

    Может быть такой вариант: Преобразовать картинку в RGBA, в Map/Unmap в цикле проходить по пикселям. Если цвет == Lime, то Alfa = 0.
  9. Здравствуйте! На Win7/8 изображение в TImage3D масштабируется сглаженно. Но под Win XP - пиксели квадратные. Как принудительно управлять интерполяцией у TImage3D? Причем обычный TImage на обычном TForm в том-же проекте под Win XP масштабируется сглаженно.
  10. Что удалось выяснить: Объектные файлы, которые получаются при компиляции на маке имеет структуру Mach-O и архитектуру X86_64. Объектные файлы, скомпилированные из студии: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped Это сообщила программа в mac os - "file". Библиотеки "а": На маке - Non-fat file: libavdevice.a is architecture: X86_64 В студии - archive whith no architecture specification: libtest.a (can't determine architecture for it) Это сообщила программа в mac os - "lipo". То есть на маке библиотека в себе содержит параметр архитектуры, а студия этим не заморачивается. Мне удалось скомпилить библиотеку на маке в 32бита. Объектники стали Mach-O i386. Библиотека стала: Non-fat file: libavdevice.a is architecture: i386 Теперь вопрос: что нужно сделать, чтобы "a"-файл собрался без информации об архитектуре.
  11. Благодарю за ответ. 1 - я их скачивал, но не понял как прикрутить к проекту. Там в архиве файлы без расширения. 2 - Multi-Device Application
  12. Здравствуйте многоуважаемые! Пытаюсь собрать приложение с использованием библиотеки FFMPEG (не суть важно, но для конкретики). Под Win32 отлично собралось и запустилось с либами скачанными с официального сайта. Для MAC OS скомпилированных библиотек не нашел. Взял исходники и скомпилировал непосредственно в MAC OS. Получил *.o и *.a файлы. НО! Внутренние их структуры отличаются от подобных файлов, скомпиленных под C++Builder XE7. В результате подключаю "LIBAVDEVICE.A" файл к "hello-word" проекту и получаю ошибку: [ILINK32 Error] Fatal: Archive file 'C:\...bla-bla...\MACLIBTEST\OSX32\DEBUG\LIBAVDEVICE.A' lists no symbols in its dictionary. Для проверки скомпилил под маком несколько других библиотек - результат такой-же. "*.a" - файлы не распознаются студией. Может есть какой конвертор, или нужно скомпилить на маке с какой-нибудь опцией? Собственно, какая технология подключения сторонних библиотек к FMX-проектам? Для примера прикрепил архив libavdevice.zip с a-файлом. Софт: RAD Studio XE7 OS X Mountain Lion (10.8.3) XCODE 4.6.3 Спасибо!
  13. Доброе время суток. Можно ли как-то узнать есть ли утечки памяти в приложении под Android? Или получить размер занятой памяти приложением?
  14. Могу добавить - приложение практически 100% виснет, если сразу после запуска, т.е. после появления логотипа программы переключиться на другую программу или на рабочий стол, т.е сделать программу неактивной. После этого не приходит OnShow событие главной формы и всё... программа висит. Если на нее переключиться - черный экран уже без логотипа. OnCreate всех Auto-Create-форм срабатывают.
  15. Абракадабровцы утверждают, что под Android студия компилит только для ARM-процессоров. Однако Delphi-приложение запускается на аппарте с Intel-процессором, в котором установлен транслято байт-кода "Houdini". Но отладка не работает. Т.е. из-под студии программа запускается, работает, а студия сразу после старта приложения возвращается в обычный режим редактирования. Пробовал на Lenovo Yoga Tablet 2. У кого-нибудь получилось войти в отладчик в "режиме" Houdini? Или это тупиковая ветвь развития...
  16. Доброе время суток. Для VCL есть сторонняя библиотека JCL (Jedi проект). В ней есть юнит ExceptDlg.pas, который перехватывает все не перехваченные exception-ы, и создает список стека вызовов с расшифровкой в каком юните и какой строке произошел вызов вплоть до Exception. Вопрос - как такое реализовать в Android? Хотя-бы просто создать список стека с расшифровкой.
  17. Хорошо бы увидеть эту "часть рабочего кода" .
  18. Ну, как говорится, сам спросил - сам ответил. Оказывается очень просто: (код на c++) #include <FMX.Platform.mac.hpp> #include <Macapi.AppKit.hpp> ... NSWindow *Wnd = WindowHandleToPlatform(Form1->Handle)->Wnd; Wnd->setAlphaValue(0.5); // диапазон: 0 .. 1.0 Узнать значение текущего альфа-канала: float v = Wnd->alphaValue();
  19. Собственно сабж. Возможно ли такое? Решение для Windows нашел здесь. Как это сделать для Os X?
  20. Спасибо, Brovin Yaroslav. Эта метода подходит. Мне как раз нужно было указать платформы для всех компонентов в пакете. Их (компонентов) там не много.
  21. В Delphi делается так: type [ComponentPlatformsAttribute(pidWin32 or pidWin64)] TMyComponent = class(TComponent) private ... end; Как это сделать в C++ Builder?!! Облазил весть инет, и на docwiki.embarcadero.com искал - инфа есть только по Delphi. Пытался сделать двойное наследование от TComponent и ComponentPlatformsAttribute - компилятор ругнулся что для Delphi-классов множественные базовые классы не поддерживается: "E2278 Multiple base classes not supported for Delphi style classes" Делать компонент на Delphi - не предлагать.
  22. Сам спросил - сам отвечаю. Вот реализация на Delphi: var intent: JIntent; uri: Jnet_Uri; begin Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); uri := TJnet_Uri.JavaClass.fromFile(TJFile.JavaClass.init(StringToJString(TPath.Combine(TPath.GetDownloadsPath, 'app.apk')))); Intent.setDataAndType(uri, StringToJString('application/vnd.android.package-archive')); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); SharedActivity.startActivity(Intent); end; Эта штука запускает установку app.apk, лежащего в GetDownloadsPath(). Но это не тихая установка и требует подтверждению юзера. Думаю для копилки знаний этот код будет полезен, однако мой вопрос о тихой установке все еще открыт. P.S. Почему то более простая конструкция: Intent.setDataAndType(StrToJURI(TPath.Combine(TPath.GetDownloadsPath, 'app.apk')), StringToJString('application/vnd.android.package-archive')); не сработала.
  23. Вот здесь: http://stackoverflow.com/questions/4967669/android-install-apk-programmatically нашел инфо как инициировать установку apk, но это пример на яве. Не знаю это тихая установка или нет, но это уже что-то. Суть реализации: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); Кто-то может изложить сие на с++ или на pas?
  24. Кстати, пища для размышлений: RAD Studio при компиляции в конкретное устройство собирает приложение и инсталлирует его по тихому, при чем в папку видимую только под root-правами, при этом root-права на устройство НЕ УСТАНОВЛЕНЫ! Значит это как-то возможно... И даже без рутирования...
  25. Пардон, почитал http://delphifmandroid.blogspot.ru/2014/02/blog-post_16.html и получил ответ на свой предыдущий пост. Кстати очень полезная статья!!! Весьма благодарю, Andrey Yefimov - есть от чего оттолкнуться для изысканий решения!
×
×
  • Создать...