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

SerhioUser

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

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

  • Посещение

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

  1. Как задать Z-последовательность 3d-объектов, например TImage3D, у которых ZWrite=false. Пробовал менять Position.Z - не помогает. Картинка становится маленькая и "далеко", но если она была поверх другой, то так сверху и остается.

    Как уже где-то писали BringToFront и SendToBack не работают. Но OpenGL ведь отрисовывает их последовательно. Значит где-то есть этот порядок. Как до него добраться?

  2. Можно ли на обычном TForm как-то отрисовать TImage, что-бы он был не прямоугольным, а например трапецией или ромбом, с соответствующим рендерингом картинки в этот четырехугольник? Другими словами можно ли повлиять на координаты углов картинки в TImage?

     

  3. На http://qc.embarcadero.com говорят, что у них теперь новый сайт для баг-репортов:

    https://quality.embarcadero.com

    Захожу туда, нажимаю "Create issue".

    В открывшемся окне в поле "Project" в списке есть только "Appmethod". А я хочу запостить баг по Rad Studio XE8. Если вписать вручную - сбрасывается на "Appmethod".

    Баг-репорты еще не отправлял. Как это делается правильно?

  4. Здравствуйте!

     

    На Win7/8 изображение в TImage3D масштабируется сглаженно. Но под Win XP - пиксели квадратные.

    Как принудительно управлять интерполяцией у TImage3D?

    Причем обычный TImage на обычном TForm в том-же проекте под Win XP масштабируется сглаженно.

  5. Что удалось выяснить:

    Объектные файлы, которые получаются при компиляции на маке имеет структуру 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"-файл собрался без информации об архитектуре.

  6.  

    Добрый день,

     

    1. Попробуйте использовать собранные библиотеки для OSX: http://ffmpegmac.net/
    2. Какой тип проекта вы выбирали, когда собирали библиотеки в RAD Studio?

     

    Благодарю за ответ.

    1 - я их скачивал, но не понял как прикрутить к проекту. Там в архиве файлы без расширения.

    2 - Multi-Device Application

  7. Здравствуйте многоуважаемые!

     

    Пытаюсь собрать приложение с использованием библиотеки 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

     

    Спасибо!

  8. Могу добавить - приложение практически 100% виснет, если сразу после запуска, т.е. после появления логотипа программы переключиться на другую программу или на рабочий стол, т.е сделать программу неактивной. После этого не приходит OnShow событие главной формы и всё... программа висит. Если на нее переключиться - черный экран уже без логотипа. OnCreate всех Auto-Create-форм срабатывают.

  9. Абракадабровцы утверждают, что под Android студия компилит только для ARM-процессоров. Однако Delphi-приложение запускается на аппарте с Intel-процессором, в котором установлен транслято байт-кода "Houdini".

    Но отладка не работает. Т.е. из-под студии программа запускается, работает, а студия сразу после старта приложения возвращается в обычный режим редактирования. Пробовал на Lenovo Yoga Tablet 2.

    У кого-нибудь получилось войти в отладчик в "режиме" Houdini? Или это тупиковая ветвь развития...

     

  10. Доброе время суток.

    Для VCL есть сторонняя библиотека JCL (Jedi проект). В ней есть юнит ExceptDlg.pas, который перехватывает все не перехваченные exception-ы, и создает список стека вызовов с расшифровкой в каком юните и какой строке произошел вызов вплоть до Exception.

     

    Вопрос - как такое реализовать в Android?

    Хотя-бы просто создать список стека с расшифровкой.

  11. Ну, как говорится, сам спросил - сам ответил.

    Оказывается очень просто: (код на 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();
    
  12. В 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 - не предлагать.

  13. Сам спросил - сам отвечаю.

    Вот реализация на 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'));

    не сработала. :(

  14. Вот здесь: 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?

  15. Кстати, пища для размышлений: RAD Studio при компиляции в конкретное устройство собирает приложение и инсталлирует его по тихому, при чем в папку видимую только под root-правами, при этом root-права на устройство НЕ УСТАНОВЛЕНЫ! Значит это как-то возможно... И даже без рутирования...

  16. Пардон, почитал http://delphifmandroid.blogspot.ru/2014/02/blog-post_16.html и получил ответ на свой предыдущий пост.

     

    Кстати очень полезная статья!!! Весьма благодарю, Andrey Yefimov - есть от чего оттолкнуться для изысканий решения!

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