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

i.r.khayrullin

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

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

  • Посещение

Посетители профиля

936 просмотров профиля

Достижения i.r.khayrullin

  1. Итак, выход нашелся. Я просто подключил VCL пакеты к FMX приложению, и создал необходимые мне компоненты динамически. Странно, что мне не пришло это в голову сразу.
  2. FMX мне нравится. Многое в нем делается удобнее и быстрее. К тому же, сейчас большую часть проектов делаю именно на нем. Из VCL остались только старые, которые хочу перевести, в том числе с целью унификации. Плюс - тренировка. Я так то особо не программист, для меня это скорее хобби.
  3. Это как раз и есть позднее связывание (по ссылке). Если это работает в Firemonkey, то будет просто замечательно. Проверю завтра утром. Спасибо.
  4. Там, в общем-то, вся суть происходящего. Без этого ничего работать не будет. Надстройка - черный ящик - выдает данные, которые берет неизвестно откуда. Макрос управляет надстройкой. Плохо если нет Может есть возможность использовать OLE с поздним связыванием?
  5. Тогда он не подходит. Мне необходимо с Экселем, с запуском надстроек и макросов. Андроид тоже не нужен. Для кого-то, возможно, это и решение. Но, увы, у меня совершенно другая задача
  6. Он использует именно подключение к Excel, или открывает файлы независимо от него? Непонятно из описания. Это важно, потому что у меня в файлах Excel для вычисления используются надстройки, которые не будут работать без самого Экселя. И уж больно он дорогой
  7. i.r.khayrullin

    OLE Automation (Excel) и FMX

    Добрый вечер! Перевожу один свой проект на FMX, и сразу же проблема - не смог найти возможности связаться с Excel. В VCL необходимые компоненты есть, а тут нет. Есть какие-нибудь способы решить проблему? Или может я просто не там смотрел, и есть возможность использовать OLE в FMX? Кроссплатформенность не требуется, работа только под Windows. Буду рад любому совету, проект очень важный для меня.
  8. Добрый день! В общем, ситуация следующая. Как известно, в Виндоус есть "масштабирование" интерфейса. Обычно им никто не пользуется, поэтому повелось, что оно работает из рук вон плохо (по моему опыту). Едва ли можно найти парочку приложений, которые масштабируются "как надо". В Виндоус 10 все стало чуточку получше, т.к. до Майкрософт потихоньку доходят слухи о существовании высоких разрешений. И стандартные приложения выглядят более ли менее. По крайней мере те немногие которые видел. Сам я работаю под OS X. Здесь с масштабированием все гораздо лучше. Например, у меня экран 5K, и система, приложения выглядят чудесно. Вопрос собственно вот в чем - как правильно реагировать на это самое масштабирование Виндоус? Если запускать одно и тоже приложение (из среды разработки) в OS X и Windows, то, при любых настройках приложение в OS X выглядит хорошо, а приложение в Windows - плохо. Примеры во вложении. Снимок 1 - Масштаб 200%, High DPI включен. Снимок 2 - Масштаб 200%, High DPI выключен. Снимок 2 - Масштаб 100%. Снимок 4 - OS X. При любом масштабе. Даже не представляю, как это выглядит на "обычных" мониторах, попробую сегодня днем сам посмотреть свои скрины.. п.с.: Удивительным нахожу тот факт, что сама среда разработки (Delphi 10) не поддерживает High DPI. Ждал от нее гораздо раньше, и до сих пор не дождался. Работать, если честно, не очень комфортно. Приходится выбирать между "мыльной" картинкой и приемлемым размером элементов. В "родном" разрешении среда выглядит слишком мелко (Снимок 5, уменьшил до 50%). Раньше даже запускалась. Сейчас почему-то вылетает
  9. Да, ошибка вышла, торопился написать пример. В рабочем проекте, конечно никаких ListBoxItem небыло. Спасибо, обычно использую. Просто старался минимизировать пример, что бы найти проблему методом "проб". Пробовал и том числе и BeginUpdate - не помогало. А вот про ExpandAll я бы не догадался. Почему так? Не понимаю. procedure TCustomTreeView.ExpandAll; var i: Integer; Item: TTreeViewItem; begin BeginUpdate; try for i := Count - 1 downto 0 do begin Item := Items[i]; if Item <> nil then Item.ExpandAll; end; finally EndUpdate; end; end; Не пойму, что в этом коде заставляет TreeView "обновиться"? Отдельно конструкция BegniUpdate > EndUpdate не работает. По поводу Sorted:= True, да, в моем проекте элементы будут сортироваться по определенным правилам. На верхнем уровне сортировки вообще не будет. Спасибо.
  10. Добрый день! Пытаюсь отсортировать элементы дерева таким образом: procedure TForm1.SortTreeItemsClick(Sender: TObject); begin TreeView1.Sort(MySortTree); TreeView1.RealignContent; end; Элементы дерева приводятся на свое место, но их отображение прекращается. Некоторые элементы видны как фантомы, некоторые - пустые строки. Перепробовал всё, пытаясь обновить дерево, ничего не удалось. Демка во вложении, там есть работающий вариант с ListBox. TestingSort.zip
  11. Добрый день! Возникла необходимость представить элементы TreeView в виде "классического дерева". Возможно ли реализовать что-то подобное на базе самого TreeView, изменив стиль элементов? Или же понадобится отдельный компонент? Как сделать правильно, не изобретая велосипед?
  12. Жаль, но по всей видимости вы правы К сожалению, StringReplace заменит первое вхождение в строке, если есть участок, аналогичный выделенному.
  13. Добрый вечер! В VCL есть замечательная функция, позволяющая заменить выделенный текст требуемым. В FMX ее нет, и чем заменить, я придумать не смог. Код для VCL procedure TForm1.NButtonClick(Sender: TObject);begin Edit1.SetSelText(TButton(Sender).Caption); end; И тоже самое для FMX procedure TForm1.NButtonClick(Sender: TObject);var aNew: String; aChar: String; aPos: Integer; begin aChar:= TButton(Sender).Text; aPos:= Edit1.SelStart; Edit1.DeleteSelection; aNew:= Edit1.Text; aNew.Insert(aPos, aChar); Edit1.Text:= aNew; Edit1.SelStart:= aPos + 1; end; Есть идеи, как это можно реализовать красивее и правильнее?
  14. Добрый день. Еще со времен Макбука с "Ретина" экраном мучаюсь с разрешением экрана (на самом деле еще раньше, но с этих пор совсем беда). Сейчас экран с разрешением 5К, и все стало еще печальнее (намного печальнее, чем даже с Макбуком). Проблемы возникают с масштабированием и в самой IDE и в разработанных приложениях под Windows. Удивительно, но на OS X все замечательно отображается и не требует какой-либо доработки. Вот так выглядит среда разработки с разрешением 5К: http://1drv.ms/1ztyVTQ А так - с масштабированием 200%: http://1drv.ms/1E4SYfu Надо сказать, что даже сам Windows с таким масштабом местами отображается неверно. Но это же среда разработки - она должна поддерживать передовые возможности, что бы мы могли перенести их в свои приложения. Работать невозможно ни в одном из вариантов. Приходится уменьшать разрешение экрана в два раза, и наблюдать жуткую "мыльную" картинку. Есть хотя бы надежда на то, что в будущих версиях IDE или Windows это пофиксят? Я джва года жду такой фикс.
  15. К сожалению данный пример применим только к iOS. Как его переделать, что бы можно было использовать в разработке под OS X пока не понятно. Будем искать дальше. Хотя я уже склоняюсь к тому, что проще купить беспроводной сканер штрих-кодов, имитирующий клавиатуру. В каком-то смысле это удобнее, чем махать товарами перед веб-камерой.
×
×
  • Создать...