-
Постов
167 -
Зарегистрирован
-
Посещение
-
Победитель дней
8
Активность репутации
-
Error получил реакцию от dnekrasov в задать шрифт (default)
Можно поиграться с подменой:
IFMXSystemFontService = interface(IInterface) ['{62017F22-ADF1-44D9-A21D-796D8C7F3CF0}'] function GetDefaultFontFamilyName: string; function GetDefaultFontSize: Single; end;
-
Error получил реакцию от Mars M в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от des80 в задать шрифт (default)
Можно поиграться с подменой:
IFMXSystemFontService = interface(IInterface) ['{62017F22-ADF1-44D9-A21D-796D8C7F3CF0}'] function GetDefaultFontFamilyName: string; function GetDefaultFontSize: Single; end;
-
Error отреагировална Равиль Зарипов (ZuBy) в Компоненты поверх WebBrowser
такой возможности пока нет, потому что нативные компоненты всегда располагаются выше стилизованных.
ждать нужно будущих версии студии, там будут нативные компоненты под андроид и ZOrder
-
Error получил реакцию от dnekrasov в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error отреагировална Kitty в Перспективы RAD
Уничтожение питерского офиса с ведущими разработчика fmх это и есть оптимизация издержек? Ответ не нужен.
А Марко Канту он архитектор чего? Он еванелист, популяризирующий RAD, ведущий блога и автор пару книжек по паскалю. Он создал какой-то фрейморк для RAD? Думаю и его в течение года идера выкинет.
Правильное слово НАКЛЕПАЛИ. Читаешь форумы и видишь, что и для VCL эти компоненты глюкавые, не то что для FMX.
Никто не хоронить Дельфи. Речь идет о перспективах кросплатформенной FMX разработке и отчасти о firedac.
-
Error отреагировална Brovin Yaroslav в Перспективы RAD
В любом случае ваше желание я вас понимаю :-)
Поскольку рынок на делфи складывается в основном из старых проектов, то желания перенести старое на новое больше, чем написать это же с нуля. Была в свое время попытка сделать мида конвертер. Он, вроде, как умел базовые вещи делать: переименовывать свойства и тд. Но как-то новости о нём потихоньку затихли. Видимо, из-за того, что после его работы нужно все равно потратить время на перевод кода.
На счет FMX я скажу так. Что мне лично не хватает в FMX тех минимальных вещей, которые в VCL работали хорошо: четкая графика на всех платформах, нормальный ввод текста, базовые настройки компонентов и скорости работы. Причем половина банально решается протягиванием или открытием скрытых свойств, что для меня тоже загадка (почему они скрыты).
-
Error получил реакцию от Rusland в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от Rusland в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error получил реакцию от Kitty в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error получил реакцию от krapotkin в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error получил реакцию от #WAMACO в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error получил реакцию от AngryOwl в Перспективы RAD
Мое решение, все тоже - жду год, смотрю что происходит. Сейчас я стараюсь "доводить" свои наработки в OpenSource и выкладывать в бесплатном или нет варианте, делиться опытом, который есть в виде статей и заметок, чтобы оно не сгинуло если что...
-
Error отреагировална Brovin Yaroslav в Перспективы RAD
Читать интересно
Наверное вернулся только при том, что я действительно буду понимать, что компания выбрала правильный путь развития и очень сильно заинтересована в этом
-
Error отреагировална kami в Перспективы RAD
я бы так не сказал. Это еще и вопрос самолюбия. Ярославу, наверное, интересно читать что тут за него нарешали, но все же озвучу свою мысль: далеко не каждый, которому сказали (мягко и корректно) "спасибо, в ваших услугах мы больше не нуждаемся", а потом "Аааа.... вернись, я всё прощу, хреннилион денег дам и личного повара" ответят "да, я вернусь" из-за прозвучавшего ранее "не нуждаемся".
Это если смотреть со стороны разработчика - наемного работника.
Со стороны компании же позвать обратно всех будет означать "да, мы крупно облажались и хотим вернуть всё взад". Даже если первая часть фразы (облажались) является правдой - далеко не каждый сможет признать подобное. Для того, чтобы эта фраза не имела больших последствий, нужно иметь сильные личностные качества.
-
Error отреагировална kami в Перспективы RAD
непосредственно они, профессионально - нет, не будут. В качестве хобби - да, возможно. На встрече Ярослав рассказывал, что у него куча наработок, которые он хочет довести до ума. А "заниматься RAD" подразумевает, насколько я понимаю, вкладывать свой труд в ядро - в сами исходники Delphi. Я просто не представляю, как это может выглядеть - филиал расформирован, но пуллреквесты приветствуются?
Скажем так - в ближайший год всё должно стать гораздо лучше, чем сейчас. И только ближе к концу наступившего года можно будет делать какие-то прогнозы и выводы.
Я вот буду поглядывать, как быстро Embarcadero будет реагировать на новые версии iOS, а то Apple в последнее время штампует их как...(очень быстро штампует), и из-за этого появляются частичные несовместимости с новым xCode. Имхо, выпустить hotfix на минорную версию iOS не должно потребовать множество усилий. Увы - пока тишина...
-
Error получил реакцию от #WAMACO в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от Andrey Efimov в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от AngryOwl в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от Равиль Зарипов (ZuBy) в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от sinuke в [Статья] VCL, избавляемся от мерцания, раз и навсегда
Ссылка: https://habrahabr.ru/post/318876/
Автор: Error
Описание:
Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
...
-
Error получил реакцию от Kitty в Насколько хорош FMX для iOS?
Форумы - прежде всего этот.
Готовые решения - периодически на http://www.fmxexpress.com/ проскакивает разное, на Google+ есть Delphi сообщество, https://www.beginend.net/ - агрегатор блогов, на https://habrahabr.ru/hub/delphi/ бывают полезные матерьялы.
-
Error получил реакцию от Rusland в Насколько хорош FMX для iOS?
Форумы - прежде всего этот.
Готовые решения - периодически на http://www.fmxexpress.com/ проскакивает разное, на Google+ есть Delphi сообщество, https://www.beginend.net/ - агрегатор блогов, на https://habrahabr.ru/hub/delphi/ бывают полезные матерьялы.
-
Error отреагировална Brovin Yaroslav в Описание TfgRegularPolygon
Описание
Назначение: Компонент предназначен для отображения правильного многоугольника. Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\RegularPolygonDemo\RegularPolygonDemo.dproj Возможности
Округление к физическим пикселям - TfgRegularPolygon.AlignToPixels Количество сторон - TfgRegularPolygon.SidesCount Настройка цвета границы - TfgRegularPolygon.Stroke Настройка заливки - TfgRegularPolygon.Fill
-
Error отреагировална Brovin Yaroslav в Описание TfgImageList
Первый набросок компонента, позволяющего организовать централизованное хранение графических ресурсов для всех платформ.
Основные особенности:
Спроектирован для использования одного экземпляра изображения во многих компонентах. Позволяет хранить все графические ресурсы любых размеров. В будущем не будет грузить картинки в память, если они не используются. А будет подгружать их из файла по мере необходимости. Тем самым будет значительно экономиться память. Хранение именованных графических ресурсов, а не по индексу. Это позволяет отразить в названии назначение картинки. Использование папок. Группировка изображений по смыслу для удобства работы с ними. Возможность загрузки разных картинок для разных устройств, или же загрузить один набор картинок для всех устройств. Удобная и быстрая загрузка изображений путем перетаскивания Хранение отступов изображения. Наглядное отображение картинки в свойствах компонентах. При изменении имени картинки, в компонентах используемых картинку идет автоматическое обновление имени картинки. В стандартном TImageList, из-за индексной структуру все картинки съезжают и при удалении картинки, компонент начинает отображать уже другую картинку.