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

AndreyS

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

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

  • Посещение

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

    1

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

  1. AndreyS

    FullScreen в El Capitan

    Всем доброго дня! После обновления OSX до El Capitan появился один эффект, который сильно мешает. В моей программе я не использую FullScreen для форм. Дело в том, что при FullScreen на OSX при нескольких открытых окнах, особенно если некоторые из них модальные бывают глюки, когда немодальное окно вдруг становится поверх всех окон, но при этом неактивным, т. к. есть модальное окно, на котором сейчас фокус. Раньше я не парился по этому поводу, т. к. мое приложение просто разворачивалось так же, как в винде. Но после обновления на El Capitan в заголовке формы отображается кнопка перехода в в FullScreen в независимости от значений соответствующих флажков у TForm. Есть ли какой-нибудь способ запретить окну переходить в FullScreen? Заранее спасибо.
  2. Я как-то ради баловства начинал делать что-то подобное. Как раз синхронное воспроизведение одного ролика в 2-х разных окнах. (2 и даже 3 видео FullHD без проблем и тормозов воспроизводилось на ноуте. Компоненты нашел какие-то, работающие через FFMPEG (вроде). Но наткнулся на одну очень неприятную проблему. Если даже получится одновременно запустить 2 видео одновременно, то в случае их рассинхронизации не получится спозиционировать один из потоков на конкретный кадр (и даже на конкретную временную метку). Дело в том, что в видео хранится не каждый кадр. Хранится опорный кадр, в после него несколько (иногда несколько десятков) кадров, в которых содержится информация только об изменениях в опорном кадре. Поэтому и спозиционировать видео можно только на опорный кадр. (Точнее можно спозиционировать на любую метку, но до первого опорного кадра на видео будет отображаться хрень).
  3. Да я лично ничего против PKG не имею. Меня здесь интересует исключительно вопрос возможности отображать пользователю лицензионное соглашение перед установкой.
  4. Спасибо. Только тогда у меня возникает следующий вопрос: Сейчас я использую программу DropDMG для создания инсталлятора. Т. е. пользователь запускает .dmg файл, у него открывается лицензионное соглашение, и если он его принимает, то открывается окошко, где ему предлагается перенести файл программы в папку Applications. Каким образом будет происходить процесс инсталляции, если исходный файл будет pkg? И возможно ли в него будет вставить лицензионное соглашение?
  5. AndreyS

    Распространение ПО для OSX

    Доброго всем дня. Столкнулся со следующей проблемой: Есть приложение для OSX, написанное на FMX (.app, упакованное в dmg). Если пользователь скачивает это приложение с сайта (сторонний сайт, не AppStore), то при запуске OSX говорит, что это приложение нельзя запускать, т. к. неизвестен издатель и пр. Так вот, что конкретно нужно сделать с этим приложением (перед деплоем или уже после), чтобы OSX не ворчала? Просто хочется заранее узнать, до того, как заплатить $99 для подключения к Developer program. Заранее спасибо.
  6. Судя по картинкам, у вас в BSD и на форме вообще разные стили загружаются, т. к. даже формы кнопок и цвета разные. Это точно один и тот же стиль?
  7. Попробуйте не удалять картинку и добавлять новую, а апдейтить старую
  8. В общем попробовал разные варианты: 1. Менял кодировку самой базы данных - не помогло. 2. Пробовал использовать девартоские компоненты - строки в кириллице ни читаются, ни пишутся. 3. Помогло только .AsWideString. Теперь вроде везде нормально читается и пишется.
  9. Vitaldj, а с девартовскими компонентами никогда не возникало проблем с кодировкой?
  10. AndreyS

    SQLite Mac OS, Кодировка

    Доброго всем дня! У меня в самый неподходящий момент возникла следующая проблема: Есть приложение для Win и Mac. Работает с SQLite (Через FDQuery). Естественно, в базе куча данных с кириллицей. Так вот, на Win - все нормально, на одном Mac(10.10) - тоже все хорошо. Попробовал поставить на второй Mac(10.9.5) - b и вот там уже начались проблемы с кодировкой. Причем, читает из таблицы S := Query.FieldByName('Title').AsString; //Без проблем а вот при записи в таблицу Query.ParamByName('Title').AsString := 'Заголовок'; В таблицу записывается '????????' (Причем именно запись идет неправильно). При подключении к базе Указываю, что StringFormat=Unicode. Может кто-то сталкивался с таким уже? Есть подозрения, что на 10.9.5 какая-то старая dylib, которая неправильно работает с кириллицей. тогда, наверное, нужно подключать свою к приложению, но опять же, где ее взять и как подключить?
  11. У меня тоже была проблема со скроллом. Нужно было сделать список (2-направленный), где каждый итем - картинка + текст. Соответственно по горизонтали отображается столько итемов, сколько умещается при данной ширине элемента. И когда размер списка перевалил за пару сотен, начались жуткие тормоза, особенно на маке, особенно на ретине. И львиную долю этих тормозов дает именно отрисовка текста. Пробовал и листбоксы и гриды, стили и вложенные компоненты. все равно сильно тормозило. В итоге пришлось написать свой компонент. Муторно конечно, вся эта отрисовка, события мыши, клавиатуры. Но зато практически летает теперь.
  12. Query.Last; //Переходим к последней записи в выборке X := Query.RecordCount; //Здесь RecordCount уже выдаст правильное количество записей Query.First; // Возвращаемся к первой записи.
  13. Как раз на днях нашел бесплатную (если без исходников) библиотеку. На первый взгляд рабочая. Сделал пару тестов (Сервер на Java, клиент - FMX, Сервер FMX - Клиент FMX) - вроде работает. Точнее сказать не могу)) http://esegece.com/websockets/#wsdownload
  14. Друзья, подскажите, пожалуйста, каким образом можно ассоциировать программу для MacOS c с определенным типом файлов? Таким образом, чтобы при двойном клике выбранный файл открывался именно в этой программе. Для Windows это делается просто, прописываешь в реестр нужные ключи (при установке) и обрабатываешь через ParamStr(1). Но для маков, насколько я знаю, это все происходит по-другому сценарию. В инете нашел инструкцию как это сделать (https://delphihaven.wordpress.com/2012/08/10/associating-a-file-type-on-osx-part1/), но там для XE2, сейчас многое уже поменялось даже в реализации основного интерфейса от которого идет вся работа. Может кто-то знает как теперь правильно все это реализовать? Заранее благодарен.
  15. Зависит от того, как изображена картинка - если малоцветная, то можно перерисовать ее вручную через (Map/Unmap), используя соотношения цветов в исходном изображении; Если многоцветная, то я знаю есть 2 варианта: 1. Можно использовать встроенные фильтры (их используют компоненты-эффекты). Среди них есть один, который как раз занимается сдвигом Hue в нужную сторону. Но если на картинке попадаются цвета, которые противоположны (на цветовом круге) тому, что вы указываете, изображение уродуется пятнами. 2. Можно написать свой алгоритм преобразования цветов. Я полгода назад делал такой. В принципе, если поковыряться пару дней, можно что-то сносное сделать.
  16. Я эту тему уже поднимал здесь: http://fire-monkey.ru/topic/1128-sistemnaia-informatciia-v-osx/
  17. А так не пойдет? procedure EditChange(Sender: TObject) begin Edit.OnChange := nil; // Какие-то действия Edit.OnChange := EditChange; end;
  18. Ну если указывать абсолютные пути, то, думаю, сработает. В крайнем случае картинки можно перевести в base64 и ввести их напрямую, хотя, конечно, если их много и/или они большие, страница будет оочень тяжелой.
  19. Я не совсем понимаю, зачем так заморачиваться с видимостью компа извне. По мне - проще так: 1. Зарегисть доменное имя + подключить хостинг (у любого хостинг-провайдера) 2. Подключить базу данных (пусть будет MySQL, т. к. есть у большинства провайдеров). Добавить одну таблицу - (ИдПланшета, Широта, долгота, временнАя метка) 3. На любом языке (пусть будет php, как один из простейших) написать 2 сценария. а) Первый - получает GET - параметры, что посылает планшет и тупо добавляет их в таблицу. б) Второй - делает 1 запрос к базе данных, где выбирает последние точки каждого планшета, компонует их в json и выдает их. 4. На планшеты поставить программу (предварительно ее написав))), которая каждые 3 минуты берет свои координаты + Ид и делает запрос к 1-му сценарию. 5. На комп поставить программу (тоже написав), которая каждую минуту делает запрос ко второму сценарию, разбирает полученный json и уже распоряжается координатами как хочет. А еще желательно при отправке с планшета данных о координатах в GET-запрос добавить еще один параметр, типа md5 из координат и ид, а на сервере проверять это. Чтобы хоть как-то обезопаситься.
  20. Вообще по опыту пользования, стили в FM (как они задуманы) - это действительно удобная и крутая штука. И если нормально разобраться, то создание стилей не очень сложная задача. Но, конечно, есть минусы, которые портят картину: 1. Нет полного описания свойств объектов. 2. Для объектов отображаются свойства, которые на внешний вид никак не влияют и только сбивают с толку. 3. Для ряда объектов некоторые свойства тупо игнорируются при формировании стиля (например, отступы у ListBox) и их потом приходится вручную устанавливать каждый раз, когда что-то меняешь в стиле 4. Нет возможности (я во всяком случае не нашел для FM) плавно менять внешний вид контролов при наведении курсора, нажатии и пр. 5. Не совсем понятна логика подбора стилей в при указании свойства StyleLookup. Иногда хватает стили с других форм, вместо своей. А в XE8 update 1 для некоторых контролов (у меня это был TListBoxItem) указывать стиль в дизайн-тайме стало вообще бессмысленно, т. к. он его теряет при запуске приложения. 6. Конечно, иногда лагает редактор стилей непосредственно в IDE (например, как здесь писали у кого-то сильно память жрет). Но по сравнению с XE2, где Access violation был просто спутником по жизни, все на приемлемом уровне.
  21. http://docwiki.embarcadero.com/RADStudio/XE8/en/Connect_to_SQLite_database_(FireDAC) FireDAC supports two SQLite library linking modes: Static linking -- the following client libraries are statically linked into the application: Win32 - x86 sqlite3_x86.obj Win64 - x64 sqlite3_x64.obj iOSDevice32 - libsqlite.a iOSDevice64 - libsqlite.a Android - libsqlite.a FireDAC provides SQLite binaries v 3.8.7.4. That is the default mode for the specified platforms, no additional files or actions are required. Note that the SQLite database encryption is supported only for static linking. Dynamic linking -- the following client libraries must be available in order to open a SQLite database: Win32 - x86 SQLITE3.DLL Win64 - x64 SQLITE3.DLL OS X - libsqlite3.dylib iOSDevice32 - libsqlite3.dylib iOSDevice64 - libsqlite3.dylib Android - libsqlite.so
  22. Так какой конкретно вопрос? Как изменить фон у TEdit или где найти мануал? Если второй, то насколько я искал, большого и грамотного мануала нет. Есть страничка на сайте emarcadero и несколько видеомануалов. Поэтому придется разбираться самому. Если все-таки вопрос по TEdit - то тут пара нюансов (Из своего опыта): 1. Если ты решил прозрачный Edit поставить на Rectangle прямо на форме, то нужно именно подложить Rectangle под Edit, а не размещать Edit в Rectangle как дочерний компонент. Т. к. если разместить компонент в компоненте, Edit не будет получать фокус при перемещении курсора клавишей Tab. 2. Если хочешь по-быстрому сделать это через стили, тогда нужно через Еdit Custom Style открыть стиль и прямо в него положить TRectangle (главное, чтобы он не был кому-либо родителем, установить HitTest = False). Просто у меня под рукой дельфей сейчас нет, поэтому конкретно не могу сказать. Но главное, чтобы он был ПОД всей остальной тряхомудией, которая есть в стиле TEdit. Здесь может возникнуть сложность, т. к. в редакторе стилей нет возможности сделать Bring To Front или Send to Back. Поэтому может это придется сделать программно в обработчике OnApplyStyleLookup. 3. Ну а если подходить основательно к вопросу, то тут нужен Bitmap Style Designer (далее BSD), который включен в IDE. Здесь нужно: Открыть нужный стиль Сохранить из него картинку В любом редакторе дорисовать прямоугольник того цвета и прозрачности, которые тебе требуются. Загрузить обратно картинку в BSD Скопировать стандартный стиль для Edit, Переименовать его. Установить ему Kind = (что-то типа FMXListBox, точно не помню) Указать область для фона Сохранить стиль в формате (.style) добавить в форму StyleBook, выбрать его в реквизите StyleBook формы Загрузить сохраненный стиль этот StyleBook. Для нужного TEdit указать в Stylelookup Имя, которое вы указали в BSD для нового элемента. Я ни в коем случае не претендую на то, что это лучшие способы, но у меня такие способы во всяком случае работают. Хотя может быть все это можно сделать проще.
  23. Насколько я знаю, когда используешь FireDAC никаких dll не нужно. В том-то его и прелесть. Судя по ошибке, программа не может открыть базу данных. У меня похожее было как-то. Скорее всего либо файл не на месте, либо он кривой, либо находится в папке, в которой винда не разрешает вносить изменения в процессе работы (Program Files, например).
  24. Я с WebBrowser работал мало, но есть один вариант. Вы же можете получить текст страницы после ее загрузки в WebBrowser? Тогда на нее можно попробовать добавить javascript, который после загрузки страницы вычислит ее высоту и пропишет результат в какой-нибудь атрибут какого-нибудь тега, потом получить текст страницы, и вычленить значение этого атрибута.
  25. Если вы хотите поменять фону у всех TEdit на постоянной основе, то правьте стиль. Если фон нужно поменять у некоторых TEdit, то нужно скопировать стандартный стиль и задать область для него. А если нужно динамически менять фоны (например, менять фон при получении курсора), то, скорее всего, придется уже в StyleBook подкладывать TRectangle и менять цвет у него.
×
×
  • Создать...