Alex7wrt
-
Постов
508 -
Зарегистрирован
-
Посещение
-
Победитель дней
31
Активность репутации
-
Alex7wrt отреагировална Brovin Yaroslav в Как отловить изменение положения контрола
Если это свой компонент, то перекройте метод TControl.DoAbsoluteChanged и не забудьте вызывать базовый метод через inherited;
-
Alex7wrt получил реакцию от HyperZen в Android. Форма не на весь экран по вертикали.
Уточнение: после обновления до MIUI 10 снова появилась черная полоса снизу. При этом в сторонних приложениях ее не наблюдалось. Следовательно, приведенное выше решение неполноценно.
Решение: добавить строку android:resizeableActivity="true" в секцию Activity
<?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%"> <%application-meta-data%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:resizeableActivity="true" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <meta-data android:name="android.max_aspect" android:value="2.1" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
-
Alex7wrt получил реакцию от Евгений Корепов в OnMouseEnter срабатывает при каждом перемещении мыши по контролу
Так происходит потому что вы делаете проверку с помощью ShowMessage. При этом панель теряет фокус и любое движение мыши над ней снова вызывает OnMouseEnter.
Проверяйте так: добавьте на форму компонент TText и в обработчике панели OnMouseEnter напишите:
text1.Text:=text1.Text+#13+'asdasd'; Вы увидите, что событие срабатывает корректно
-
-
Alex7wrt получил реакцию от Anatoliy в OnMouseEnter срабатывает при каждом перемещении мыши по контролу
Так происходит потому что вы делаете проверку с помощью ShowMessage. При этом панель теряет фокус и любое движение мыши над ней снова вызывает OnMouseEnter.
Проверяйте так: добавьте на форму компонент TText и в обработчике панели OnMouseEnter напишите:
text1.Text:=text1.Text+#13+'asdasd'; Вы увидите, что событие срабатывает корректно
-
Alex7wrt получил реакцию от Barbanel в Android. Форма не на весь экран по вертикали.
Для того, чтобы работало "из коробки", добавьте в файле манифеста в секции Activity строку:
<meta-data android:name="android.max_aspect" android:value="2.1" />
Где 2.1 -максимальное соотношение сторон, поддерживаемое приложением. Можно заменить другим числом
-
Alex7wrt получил реакцию от Hangar-18 в Android. Форма не на весь экран по вертикали.
Для того, чтобы работало "из коробки", добавьте в файле манифеста в секции Activity строку:
<meta-data android:name="android.max_aspect" android:value="2.1" />
Где 2.1 -максимальное соотношение сторон, поддерживаемое приложением. Можно заменить другим числом
-
Alex7wrt получил реакцию от ENERGY в Android. Форма не на весь экран по вертикали.
Для того, чтобы работало "из коробки", добавьте в файле манифеста в секции Activity строку:
<meta-data android:name="android.max_aspect" android:value="2.1" />
Где 2.1 -максимальное соотношение сторон, поддерживаемое приложением. Можно заменить другим числом
-
Alex7wrt получил реакцию от Hangar-18 в Android. Форма не на весь экран по вертикали.
У меня была похожая ситуация с Redmi 5 и Redmi Note 5
Попробуйте зайти на телефоне в Настройки - > Безграничный экран - > Полноэкранный режим, и активировать полноэкранный режим для этого приложения
-
Alex7wrt отреагировална x11 в Как использовать камеры в 3D-приложении FireMonkey с помощью Delphi
How to Use Cameras in a FireMonkey 3D Application with Delphi
https://www.youtube.com/watch?v=bjflkb1GzaM
может кому пригодится
-
Alex7wrt отреагировална IVGSoft в поточная загрузка картина не работает Android
Ну, во первых, не fot.LoadFromStream, а
tb.LoadFromStream(fot);
И еще рекомендую добавить перед этим такую строчку
fot.position := 0;
-
Alex7wrt отреагировална Tumaso в Как сделать форму с компонентами под все разрешения?
При запуске приложения определяете текущее разрешение, программно вычисляете размеры и положения компонент и программно применяете их. При OnResize у формы всё пересчитываете..
-
Alex7wrt отреагировална krapotkin в Как создать диаграмму из бд?
нет никакого подключения
просто в цикле по датасету создаете точки в сериях
никакой автоматики. все вручную
-
Alex7wrt отреагировална sinuke в [Apple store] Guideline 4.2.2 - Design - Minimum Functionality
Ну может сделать ленту с акциями и скидками... А также, при просмотре детализации по акции сделать что-то типа "Принять участие / Записаться и т.д."
-
Alex7wrt отреагировална Barbanel в Как в Delphi XE3 открыть word документ ?
Лично мне неизвестно как встроить MSWord в свою форму.
Просто открыть MSWord и отобразить в нем документ - можно.
Запустить MSWord, не показывать его окно, считать определенный текст (как строку), и отобразить этот текст на форме (без средств редактирования MSWord) тоже можно.
Как встроить в свою форму - мне неизвестно.
Существуют платные компоненты для редактирования doc-файлов, но их возможности не такие обширные как в MSWord.
Вам точно нужно именно это? Это задача вобщем-то не совсем тривиальная, хотя и решимая.
Может вы скажете что от вас требуется и мы подскажем альтернативы?
-
Alex7wrt отреагировална ENERGY в Ориентация SDK на Android 8 и выше
Тема как то неправильно названа. Я подумал про ориентацию экрана. Назовите пожалуйста лучше как "Targeting SDK на Android 8" или "Целевая версия SDK на Android 8"
-
Alex7wrt получил реакцию от ENERGY в Ориентация SDK на Android 8 и выше
Уважаемый X11, пожалуйста, не вводите людей в заблуждение. По теме обязательного использования последних API на форуме уже есть несколько тем.
С августа разрешена публикация новых приложений только с API не ниже 26 (Android 8.0), а с ноября для обновлений.
Для того, чтобы приложение соответствовало новым требованиям, в файле мвнифеста нужно поменять параметр TargetSDKVersion на 26 или выше.
Google никого банить не будет. Приложение просто не пропустят на публикацию. Уже сейчас при размещении в Google Play приложения с более ранней версией SDK, появляется предупреждение, что скоро публиковать можно только с SDK 26 и выше.
Существующие же приложения никто трогать не будет.
-
Alex7wrt отреагировална krapotkin в Мультивопрос по мобильным платформам: хранение изображений, загрузка изображений из сети, правильная организация приложения (создание форм, фреймов, объектов)
я наоборот, за фреймы. логику гораздо проще строить. Да и переключение форм свайпом вправо влево не сделать, например. Форм пара тройка достаточно.
По приведенному примеру - компоненты создавать в потоке - не только бесполезно но и вредно.
Создавать в главном потоке. К счастью, экран мобилы невелик, и если создавать то, что реально нужно прямо сейчас, вполне все норм
про картинки и прочее - нужно понимать, что золотой пули нет. если вы превысите разумные пределы по памяти, ваше приложение грохнется. так что использовать файлы или нет - решение принимать по месту прописки
со скроллом - если разобраться с ListView, то достаточно несложно делать любые раскладки. одно, что приходится кодить, вместо привычного накидывания компонентов
Насчет DisposeOf. Уничтожение производится автоматически, поэтому вызывайте FreeAndNIL и не парьтесь. Только перед этим для компонентов например надо сделать Parent := NIL
Уничтожение не должно производиться вами. Деструктор будет вызыван без вас, когда вы затрете все ссылки на ваш объект.
-
Alex7wrt отреагировална Barbanel в Мультивопрос по мобильным платформам: хранение изображений, загрузка изображений из сети, правильная организация приложения (создание форм, фреймов, объектов)
Я бы сам присоединился к такому вопросу.
Советовать не стану, расскажу лишь как мы сделали.
Иконки для кнопок, их цвета и прочее что относится к внешнему виду/интерфейсу мы вставили в стили, конкретнее - прямо на битмап темы приложения.
Изображения же, типа там фоток, примеров из "что нового" вставили в imageList, причем все используемые imageList вынесены в отдельный DataModule.
Мы получаем только текст и сразу парсим, соотв. храним в оперативке, нам нет смысла писать на диск.
Тут можно разводить холивары.
Мы перенесли опыт настольной разработки - создаем формы по мере необходимости. Плюс очевиден, но он же автоматически имеет и минус - когда вам эта форма понадобится, ее создание занимает время, и иногда это заметно.
В целом у нас одна главная форма с табконтролом и отключенными вкладками, по мере необходимости мы переключаем табы и их порядок, это позволяет анимировать переходы с одной "формы" т.е. вкладки на другую.
Ембаркадеро советует использовать object.DisposeOf() вместо object.Free() так и делаем. Минусов не обнаружили (или не заметили).
Попробуйте поэкспериментировать с другими контролами, ListView или ListBox. Они все позволяют использовать стили для элементов списка (имхо, могу ошибаться).
Мы используем TListBox (что не рекомендуется данным форумом) и кидаем стили на элементы списка (лид сказал оставляем так, потом будем решать).
Ну, это не запрещено)))
Попробуйте дженерики, удобная фича. Пример нужен?
PS. это все имхо, я с удовольствием послушаю коллег.
-
Alex7wrt получил реакцию от Ivan B. в Индикатор замирает во время создания объектов в ScrollBox'е
Дело в том, что индикатор отрисовывается в основном потоке. По видимому ваша процедура также выполняется в основном потоке. Чтобы не было подтормаживаний, выполняйте фоновые операции в отдельном потоке, а при необходимости отрисовать какой-нибудь визуальный компонент, пользуйтесь Synchronize или Queue.
-
Alex7wrt получил реакцию от Ivan B. в Индикатор замирает во время создания объектов в ScrollBox'е
По моему, все равно. Как вам удобнее.
Я так понимаю, что TTask разработаны с прицелом на параллельные вычисления, когда нужно выполнять однотипные операции в нескольких потоках. Для этого дела там имеются опции по ожиданию выполнения остальных потоков и т.д.
TTask также удобен тем, что его можно сразу использовать, не нужно объявлять поток.
TThread удобен, если нужно выполнить определенный набор действий по завершению потока (с помошью OnTerminate). Может и в TTask такое есть, не знаю
Лично я просто привык использовать TThread
-
Alex7wrt отреагировална krapotkin в Выполнение операции после скрытия меню
есть более интересный и по-мне, более правильный способ
по нажатию в меню не сразу выполняете что-то, а ЗАПИСЫВАЕТЕ действие, которое ВЫПОЛНИТСЯ по событию закрытия мультивью
тогда реакция наступает визуально правильная и дальше крутите колеса, запускайте потоки и все такое
-
Alex7wrt отреагировална Barbanel в Выполнение операции после скрытия меню
Процедура Invalidate не перерисовывает форму немедленно, она лишь добавляет сообщение на перерисовку в очередь сообщений.
Соотв. форма перерисуется когда не будет других событий в очереди, в данном случае - после всех длительных операций или после вызова .ProcessMessages
-
Alex7wrt отреагировална ENERGY в IOS: Exception class 6
Мне кажется нужно вообще исключить iPhone 5 и UBF, и компилить только на x64 - 5s или выше, чтобы исключить другие баги.
Вообще Universal Binary File мне не нравится, т.к. файл получается очень большой, под 30 мб - в 2 раза больше.
Я компилирую только под x64. Делать неудобства остальным пользователям (большинству), в виде большого размера не хочу. iPhone 5 уже отошли.
-
Alex7wrt отреагировална ENERGY в Как создать animation bitmap из списка картинок. How to create an animation bitmap from a list of images, to use in TBitmapListAnimation.
How to create an animation bitmap from a list of images to use in TBitmapListAnimation.
Простенькая программка, для создания анимационной картинки. Уже откомпилирована в папке Win32 > release.
Указываем папку с PNG картинками, указываем кол. колонок.
Результат - png файл, который можно добавить в TBitmapListAnimation появляется в той же папке.
Raws и FramesCount (= Animation Count) прога показывает на форме, эти цифры потом вводим в TBitmapListAnimation.
Код делал на скорую руку, не работает с прозрачными картинками (точнее я не проверял).
Как подготовить список картинок - используйте IrfanView, откройте в нем картинку, нажмите англ. клавишу B - он покажет массу опций для пакетного конвертирования, изменения размеров, обрезки картинок и множество другого.
https://drive.google.com/file/d/1CFymsKtZ6fniBDZgQg5nXHeqo-ProTf3
P.s. Не используйте на iOS анимацию, в которой больше 60 - 70 кадров. Точнее используйте, но подготовьте специальным образом.
MergeBitmapsForBitmapList.7z