• ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Похожий контент

    • От Вадим Смоленский
      Наткнулся на странное поведение FMX-приложений под Windows. Если развернуть окно приложения на весь экран, потом воспользоваться системной кнопкой "Свернуть все окна" (в правом нижнем углу экрана) и после этого опять вызвать окно приложения, то оно выводится уже не развернутым, а обычным. Появились недовольные таким поведением пользователи. Можно ли их чем-нибудь утешить?
    • От Вадим Смоленский
      Когда мое приложение для Windows компилировалось в Delphi 6, линуксоиды успешно запускали его в Wine. Рапортовали, что неидеально, но работать можно. Теперь, после перевода на FireMonkey, один тестировщик попробовал запустить его в Wine 3.0 и сообщает:
      "Результат неутешителен - программа в нём практически не работает. Интерфейс сломан, кнопки интерфейса не нажимаются (в большинстве; а если и нажимаются, то возникают всякие ошибки)."
      Не сталкивался ли кто-нибудь здесь с этой проблемой? Я тихо надеюсь, что существует некая волшебная кнопка, которая поможет всё наладить.
      Приложение использует FireDAC и SQLite. Сторонних компонентов никаких.
    • От Вадим Смоленский
      Один тестер моего проекта (один изо всей команды!) поставил меня в полный тупик. У него Windows 7, и он запускает приложение на разных компьютерах, выбирая разные темы - то с Aero, то без. Почему-то приложение выглядит у него прилично лишь при запуске с Aero; при запуске же с базовой темой наблюдаются искажения отрисовки и функциональные нарушения. А на одном компьютере с Aero-темой приложение может не запуститься вовсе: например, если установлено системное масштабирование шрифтов 135%. Тогда при запуске появляется сообщение об ошибке в модуле ntdll.dll.
      Не мог бы кто-нибудь разъяснить, как установка темы связана с параметрами Windows API? Можно ли как-то нивелировать эту разницу? На что вообще в таких случаях нужно обратить внимание?
    • От Вадим Смоленский
      Разрабатывая свою софтину, о сенсорных экранах я совсем не думал (отстал от прогресса). Но один тестер сейчас погонял текущую сборку на планшете. Оказалось, что почти всё работает хорошо, но в некоторых местах по нажатию пальцем отрабатывается не OnClick и не OnMouseUp, а почему-то OnMouseMove. Прежде чем изобретать велосипед, хочу спросить у знающих людей: а как вообще лучше организовывать работу с мышью/пальцем, чтобы она одинаково хорошо шла в обоих вариантах? Есть ли здесь четкие рекомендации? Вот, например, я вижу событие OnTap: стоит ли задействовать его? Или это только для мобильных платформ?
    • От Вадим Смоленский
      В своем проекте (это японско-русский словарь) мне приходится выводить на TImage.Bitmap.Canvas хранящиеся в юникоде иероглифы, причем шрифт пользователь может выбрать сам. Столкнулся с неприятным явлением: разные шрифты располагают выводимый символ на разной высоте, в результате чего иероглиф часто не вписывается в предназначенную для него область. По умолчанию принят шрифт Tahoma, с ним всё хорошо:

      Но вот шрифт Yu Mincho:

      А вот, еще хлеще, Kozuka Gothic:

      Вопрос: что за параметр регулирует вертикальное смещение, можно ли его вынуть и с ним работать?
    • От Вадим Смоленский
      Некоторые юзеры (видимо, из близоруких) прибегают к масштабированию экрана и требуют, чтобы ваше приложение тоже масштабировалось. Когда мой проект был в VCL, я смотрел на параметр Screen.PixelsPerInch и учитывал его значение в своем коде. В FireMonkey этого нет. Я пытался понять, как это делать теперь, и окончательно запутался. Microsoft на официальном сайте упоминает функцию SystemParametersInfo с параметром SPI_GETLOGICALDPIOVERRIDE, но делает оговорку, что такую конфигурацию лучше не использовать - дескать, в новых версиях Windows она не будет работать. Взамен рекомендуют функцию GetScaleFactorForDevice, но тут же заявляют, что под Windows 8 и она работать не будет, а будет работать только GetScaleFactorForMonitor. Голова кругом. Нет ли у кого, случаем, готового решения, которое работало бы на любых Windows - хотя бы от семерки до десятки?
      Еще один момент, который я не могу понять - в Windows 10 в настройках экрана, помимо масштаба в процентах, можно выбирать еще и разрешение в пикселях. По-моему, раньше такого разделения не было, хотя могу ошибаться. Связаны ли эти настройки друг с другом? И как они соотносятся со старым добрым DPI?
    • От Вадим Смоленский
      Работая в Berlin, подправил стиль для одного компонента посредством вызова "Edit Custom Style" во всплывающем меню. Потом перешел на Tokyo; потом поменял компьютер и установил на него Tokyo заново. Сейчас вижу, что компонент отображается в стиле по умолчанию. Никаких сообщений по поводу пропавшего стиля не припомню. Где мне найти и как опять подключить мой отредактированный стиль?
    • От Вадим Смоленский
      В своем проекте (это японско-русский словарь) я часто вывожу текст на TImage методом TCanvas.FillText, и результат выглядит так:

      Один из тестеров, у которого установлена Windows XP, прислал скриншот того, что выводится у него:

      Ровно такую же безобразную картину я видел у себя, когда, экспериментируя с быстродействием, вставлял в файл dpr операторы  FMX.Types.GlobalUseDX:=False или FMX.Types.GlobalUseDirect2D:=False
      То ли в XP эти установки приняты по умолчанию, то ли так сконфигурирована система у тестера. Первое, что приходит в голову - вставить в код присвоение обеим упомянутым переменным значения True. Но прежде, чем предпринять такую попытку, хотелось бы услышать мнение экспертов. В чем здесь корень зла?
    • От Вадим Смоленский
      Записываю русский текст в файл:
      procedure WriteToFile; var F: TextFile; S: string; begin S:='Русский текст'; AssignFile(F,MyFile.txt'); ReWrite(F); WriteLn(F,S); CloseFile(F); end; Тип данных string - по идее, то же, что WideString. То бишь, в строку S записан юникод. Тем не менее, открывая потом файл, вижу, что русский текст сохранен в ANSI. Как добиться его сохранения в юникоде?
    • От Вадим Смоленский
      Писал на Delphi 10.2 Tokyo под Windows. У тестеров приложение валится при первой же попытке обращения к БД с сообщением "unable to open database file". У меня на компе всё нормально. Файл sqlite3.dll версии 3.21.0.0 в дистрибутив включен, кладется рядом с исполнимым файлом. Что может быть не так?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу