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

AndreyS

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

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

  • Посещение

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

    1

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

  1. Ой, а если не секрет, можете хотя бы примерно рассказать, для каких целей необходимо такое количество прорисовок и за какое время?
  2. Я полгода назад, во время написания одной программы тоже задался этим вопросом. Но в итоге производительность этого метода меня волне порадовала. Если я не ошибаюсь, на то, чтобы нарисовать одну картинку с прозрачностью поверх другой при разрешении 1920х1080 DrawBitmap тратил чуть менее 3 мс.
  3. Обнаружилась очень неприятная и неожиданная проблема. Постараюсь кратко описать суть. Есть приложение (пробовал пока только на Windows) для работы с базой данных. Допустим мы создаем новый объект этой базы. Открывается форма этого объекта. При заполнении значений определенного реквизита (допустим это цвет) открывается форма выбора из списка цветов, введенных в эту базу данных. Форма выбора открывается в модальном режиме. В этой форме выбора есть возможность добавить новый или изменить уже существующий цвет. Соответственно поверх модальной формы открывается еще одна модальная форма редактирования цвета. Пока все хорошо. Но при закрытии формы цвета форма выбора заполняется черным цветом (сначала только частично, т. к. перерисовывается не вся форма, а только часть объектов, которые были перекрыты второй модальной формой, но, например, при ресайзе формы выбора чернеет уже вся клиентская часть). Все формы в приложении стилизованные, включая бордюр. Частично эта проблема решается если у форм устанавливать Fill.Kind в Solid или что-то другое (главное, чтобы не None). Но при этом начинают странным образом пропадать элементы формы (без логики). Пробовал мудрить, типа в OnActivate формы выбора сбрасывать StyleBook формы, далее Application.ProcessMessages, и снова устанавливать в StyleBook новое значение. После пары перемигиваний форма отрисовывается правильно, но при этом появляется другой глюк (при наведении на кнопки в заголовке главной формы, заголовок тоже чернеет). Вот такая дребедень... В общем, как я понимаю, глюк появляется, когда открыто несколько модальных форм. Может кто-то знает какой-нибудь приличный workaround?
  4. Насколько я понимаю, данный форум нужен для того, чтобы люди помогали друг другу разобраться в дебрях FM. Как заставить FM делать то, что хочет программист. А вопросы чисто алгоритмического характера, имхо, здесь не совсем уместны... Разве что отдельный раздел на форуме создать: "Как отсортировать массив и Ко")))
  5. Мне кажется, что в FM этих сообщений просто нет. Я полагаю, что для обеспечения кроссплатформенности все системные события формы (да и других компонентов) реализованы где-то глубоко внутри платформы, а нам для обеспечения единого кода они выдаются просто так, с помощью "магии"))).
  6. Кто-нибудь может подсказать, как правильно вышеуказанным компонентам указать, что они должны использовать SmallScrollBar вместо обычных? Я нашел один способ, когда в стиле конкретного компонента заменяешь соответствующий объект с TScrollBar наTSmallScrollBar, но это очень неудобно и сильно напоминает костыль...
  7. Блин! Про StartWindowDrag я забыл совсем. Или не знал, а потом еще и забыл! Спасибо, AlexG.
  8. [AlexG] - Спасибо. Такой способ я пробовал как-то реализовывать. Получается, конечно, красиво, но есть парочка "но": Во-первых, придется самому реализовывать поведение системных кнопок и ресайза (но это пол-беды) Хуже обстоит дело с перемещением формы. Можно отлавиливать MouseDown и MouseMove на области заголовка формы и гонять форму по экрану за движением мыши. Но так работает, если мышь движется медленно. А если мышь успеет перескочить за пределы заголовка, то форма остается на месте. Так что двигать можно только мееееедленно. Поэтому, когда я спрашивал про тень, я имел в виду как-то это провернуть через Bitmap Style Designer, например через свойство Mask у объекта формы. Хотя добавление прозрачности в область изображения, на которое опирается Mask не срабатывает
  9. Открываешь Bitmap Style Designer. Открываешь в нем любой доступный стиль из стандартной поставки (Файл с расширением vsf). Открываешь Objects - Form. Вот тебе полная компоновка стилизованной формы. У меня по этой теме немного другой вопрос. Можно ли у формы со стилизованным бордером отобразить тень? Или хотя бы пиксели с различной прозрачностью? Как минимум для Windows.
  10. У меня была похожая проблема, когда нужно было перерисовать итем при выделении. И ApplyStyleLookup изначально не помогал, т. к. при вызове этого метода внутри идет проверка, нужно ли обновлять стиль. И чтобы "убедить" итем, что ему нужно перерисоваться перед ApplyStyleLookup я вызывал метод NeedApplyStyleLookup
  11. Я сейчас уже точно не скажу. Либо AES, либо DES. С одним у меня что-то не срасталось, а второй заработал. Но потом, когда я узнал, что расшифровать можно только локбоксом, я расстроился и начал ковыряться с симметричным шифрованием (TwoFish), потом и насчет него тоже расстроился, изобрел очередной велосипед и успокоился.
  12. Тогда они будут одноцветными и нельзя будет сделать смайлики с анимацией
  13. Согласен, у WebBrowser есть свои недостатки. Но представьте, сколько придется перелопатить возможных вариантов взаимодействия с редактором, которые нужно правильно обрабатывать и отображать пользователю чатом (взять хотя бы скролл длинного сообщения со смайлами, изменение ширины блока для ввода текста с включенным WordWrap, выделение блока текста, включающего смайлы + его копипаст)? Насчет того, что он не слишком шустрый - я думаю, для отображения пары сотен сообщений его производительности вполне хватит, тем более редактора. Насчет памяти - мне кажется 2 компонента не столько сожрут ее, сколько сотни TLayout,TText, TImage. По поводу фишек - с простым чатом (без 3D текста, анимации и пр.) даже у старенького IE проблем возникнуть не должно.
  14. Если бы мне пришлось сейчас писать чат, то первым делом я бы попробовал использовать WebBrowser. И для вывода результатов и для редактирования текста. Насчет вывода результатов - вообще проблем не вижу - сверстал страничку (самый простой вариант - таблицу) из предыдущих сообщений и отобразил. При желании в эту же страничку можно насовать и оформление текста и javascript. По поводу редактирования: ставим на форму еще один компонент WebBrowser и вставляем в него код страницы, содержащий какой-либо текстовый редактор (типа того, что используется на этом же форуме, хотя можно и любой другой в интернете их куча бесплатных и опенсорсных), при желании убираем из него все лишние панели инструментов и отображаем в этом компоненте. Далее кидаем на форму кнопку отправить, берем напечатанный текст со смайлами, форматированием текста и пр., сохраняем его если надо куда-нибудь типа базы данных или еще что и добавляем к отображенным сообщениям. Правда, если разрешаем пользователям форматирование, нужно подстраховаться и убрать из введенного текста все лишние теги, чтобы особо умные не пихали javascript'ы и не портили собеседникам жизнь.
  15. Я тоже пару месяцев назад разбирался с локбоксом, получилось зашифровать текст симметричным и несимметричным алгоритмами. Только расшифровывается все это только этой же библиотекой. Другие не подходят. Начал копать в чем причина и вроде нашел. Сами создатели локбокса пишут, что алгоритмы шифрования (во всяком случае асимметричные) не дают четкого математического метода шифрования, а дают как бы рекомендации. И каждый реализует его на свое усмотрение. Поэтому 2 разные библиотеки дают разный результат. Так что если кто-нибудь знает единую библиотеку, чтобы организовать двустороннее шифрование FMX(Win+MacOS)-Java поделитесь, пожалуйста))
  16. Вот, что я нашел. В маке есть консольная команда sysctl. Если ввести ее с параметром -А, то выводится список из нескольких сотен системных переменных. В принципе, если собрать в одну строку некоторые из них, то можно получить относительно уникальный неизменный параметр, который идентифицирует данное устройство. Из Delphi можно получить большинство из них (во всяком случае, некоторые я сходу получить не смог, а разбираться не стал). Как правильно получать информацию из этих переменных подробно описано здесь: http://keeper89.blogspot.ru/2013/07/osx-ios-delphi-xe2-xe3-xe4-1.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+Keeper89+(Keeper%27s+blog) Но если кто-нибудь подскажет, как получить что-то уникальное из железа, я буду очень благодарен..
  17. В Windows есть несколько способов получения псевдоуникальных данных. - Можно взять ID логического диска (виндовая функция GetVolumeInformation) - Можно взять в реестре серийник винды и/или дату биоса - Кто-то берет Мас-адреса, хотя по мне это крайне неправильно. - На torry.net есть бесплатный набор классов System Information Classes v.4.0 Там в демо-программе сразу показывается пара десятков параметров из которых можно составить более-менее уникальную строку для идентификации ПК (Хотя действительно полезных и уникальных там мало))) Но вот, блин, для Мака ничего не могу найти(((
  18. AndreyS

    Системная информация в OSX

    Доброй ночи! Необходимо получить системную информацию в MacOS. TOSVersion дает очень скудные данные, а нужна именно более-менее уникальная постоянная информация по данному компьютеру, например ID жесткого диска, ID процессора или какой-либо другой привязанный к железу или ОС идентификатор. Для Win, iOS, Android информации в интернете предостаточно, а вот по Mac как-то нет. Может кто-нибудь сталкивался с этим и смог решить это нормальным способом?
  19. Я победил эту напасть. Посмотрев логи доктора я увидел, что он обращает внимание на то, что Delphi ковыряется во вновь создаваемом exe-шнике (Неважно debug или release). И походу доктор веб недолюбливает приложения, которые запускаются сразу после того, как в них кто-то "поковырялся" и всячески их блокирует. Потому как при запуске exe-шника напрямую из проводника др. веб ведет себя как нужно.
  20. AndreyS

    Help в IDE

    К сожалению, ни modify (убрал help, затем добавил), ни repair не помогли( Может быть кого не затруднит на почту мне кинуть rad.HxS?((
  21. AndreyS

    Help в IDE

    Спасибо большое.
  22. День добрый! Пишу приложение, которое периодически загружает информацию с сайта. Способ простейший - SiteResult := IdHTTP.Get('http://example.com/'); На компе стоит dr. web. Обычно, когда какое-либо приложение пытается получить данные из сети, вываливается стандартное окошко брандмауэра, мол, так и так, данное приложение пытается получить доступ к сети, разрешить, заблокировать или создать для него правило. В моем же случае такого не происходит. Просто при выполнении указанной строки кода появляется сообщение об ошибке сокета #10013 Access Denied в независимости от указанного адреса (включая localhost). При попытке отправки POST-запроса - та же история. При отключении брандмауэра dr. web все запросы отрабатываются без осложнений)). В чем может быть причина? Может у TidHTTP должны быть определенным способом заполнены какие-то свойства?
  23. AndreyS

    Help в IDE

    Добрый день! Случилась непонятно-неприятная ситуация. На 2-й день после активации лицензии в IDE (Delphi XE7) слетела вся справочная информация. Порылся в интернете, оказалось, что это периодически встречающееся явление. У людей вроде как исчезает файл rad.HxS. Есть советы по поводу того, что нужно с сайта Embarcadero скачать этот файл, но он там от 11-го года и тот битый. Некоторые пишут про необходимость провести modify/repair. Так вот вопрос, каким образом мне вернуть всю справочную систему, и если использовать modify или repair, то не слетит ли лицензия? Спасибо.
×
×
  • Создать...