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

Pulsarius

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

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

  • Посещение

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

    3

Pulsarius стал победителем дня 15 февраля 2018

Pulsarius имел наиболее популярный контент!

Информация о Pulsarius

  • День рождения 19.08.1989

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург

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

1 699 просмотров профиля
  1. FireDAC использует внешний драйвер для работы с MS Access, который только под винду. Под Unix для работы с Access разработчики для своего ПО пишут свою какую-то библиотеку. Вообще я соглашусь с вышесказанным - в качестве СУБД для кроссплатформенных приложений лучше всего использовать SQLite. Я давно её уже использую в своих проектах. Это лучшая локальная СУБД на сегодняшний день. Access слишком замудрённая и тяжёлая, а также официально кросплатформенной поддержки её нет, только под винду.
  2. Отлично! Я ни разу не был на таких сходках. Нужно было как-то записываться заранее или можно просто подходить?
  3. Решено! Дело было действительно в слишком новой Xcode. Переустановил Xcode на версию 8.2 и всё стало компилиться.
  4. Pulsarius

    Ошибка компиляции на macOS

    Всем привет! Надеюсь кто-нибудь поможет, срочно нужно решить эту проблему. При компиляции на платформу OS X компилятор "ругается" на файл "SecBase.h", который находится в папке SDK "MacOSX10.13.sdk". Использую C++ Builder Tokyo 10.2, macOS Sierra 10.12.6, Xcode 9.1. Даже если попытаться скомпилить пустой проект таже самая ошибка. Если компилить Delphi проект, то всё нормально. Я подозреваю, что это скорее связано с неподдерживаемой версией Xcode, слишком новая. Помогите пожалуйста, а то не хочется переписывать проект на Delphi.
  5. И правильно, не используйте этот LiveBinding. Мне кажется использование LiveBinding это плохое решение. Я как-то решил попробовать это "чудо" средство и наткнулся на многие грабли. Например, у меня приложение категорически отказывалось запускаться при закрытом DataSet. LiveBinding выкидывал exception с такого рода сообщением. Зачем? Ведь мне и нужно открывать DataSet при необходимости, мне сначала эти данные не нужны. Просто не нужно ничего связывать в таком случает а не кидаться exception'ами. При закрытии DataSet тоже какие-то ошибки кидал. В общем все проблемы решились просто убрав этот LiveBinding и написанием своей функции отображения данных по старинке. Вот это совсем нехорошо. Так нельзя делать. А если вы удалите какие-то записи и id станут не по порядку? Будете каждый раз редактировать id в БД? Можно для этого использовать свойство Tag, которое есть у всех компонентов вот как раз для подобных целей.
  6. Я тоже с этим не согласен. Почти все терминалы, кассовые ПК и т.п. работают на Linux'е и в основном на ARM. Им нужно делать поддержку и x64, и ARM Linux. Иначе действительно смысла нет, если делать только x64. Я больше сторонник C/C++, т.к. это уже вроде как стандарт и код на этом языке можно перенести хоть куда, если конечно не использовать библиотеки среды, а на Delphi перенос уже более ограниченный. Да и, мне кажется, C/C++ более гибкие языки, на них можно писать от системных драйверов режима ядра до высокоуровневых приложений.
  7. Да, FMX очень хорошая идея, но очень сильно отстаёт. Visual Studio с Xamarin давно уже позволяет компилить ARM-32, ARM-64, x86 и x64 приложения, т.е. под все возможные процессоры. Тоже самое и с Linux - в Visual Studio на C++ можно собирать x86, x64 и ARM Linux приложения, а на Delphi только x64. А ARM архитектура сейчас очень популярна, та же Raspberry Pi набирает обороты.
  8. Pulsarius

    Сортировка FDTable

    Зачем вообще использовать FDTable? Не лучше ли использовать FDQuery и писать там нужные запросы к БД с нужной сортировкой (ORDER BY)? Необходимость в FDMemTable я ещё понимаю, частенько использую, но вот смысла существования FDTable я вообще не вижу. Если только просто в приложении отображать или считывать содержание таблицы, но это очень редко нужно. Обычно всегда требуются всякие сортировки, группировки, условия, JOIN'ы и т.д.
  9. Я заметил, что, если в приложении есть хоть один 3D объект, то приложение открывается и срузу закрывается, не выкидывая никаких exeption'ов. А недавно то же самое поведение я заметил, если в приложении есть функционал по работе с SOAP сервисом, добавленном через "Import WSDL".
  10. Сейчас внимательно всё проверил и заметил, что компилятор C++ Builder не такой уж и глупый. Если посмотреть каким-нибудь PE Explorer'ом, то исполняемый файл не содержит ссылок на неиспользуемые bpl, если компилить с динамическими рантаймами, и не содержит их внутри, если компилить со статическими рантаймами. Это Deployment Manager и Project Information делают выводы об используемых bpl, видимо, исходя из cbproj файла, а не из анализа скомпилированного исполняемого файла, что, по-моему, несовсем корректно. Ещё заметил такую неприятную вещь, исходя из опыта работы с другими IDE. У Embarcadero замечательные графические и неграфические библиотеки, которые очень ускоряют разработку софта и, как мне кажется, ни одна другая библиотека других фирм, не сравнятся с RAD Studio, плюс ещё и кроссплатформенность появилась. Но почему редактор кода-то такой отсталый? Напоминает нулевые года и вот почему: 1. Не высвечивает подсказки корректно, например, я пишу "TStringBuilder *builder = new ..." и разумеется логично в первой позиции подсказки предложить "new TStringBuilder()", но нет же, высвечивается всё, что угодно, но только не то, что по логике нужно. 2. Я считаю, что посказки должны показываться автоматом по первым символам, как в других IDE, а не по ручному нажатию "Ctrl + Space". 3. Поля и методы шаблонов и контейнеров STL вообще не подсвечивает, а это основа! 4. При требовании подсказки редактор может вообще задуматься на несколько секунд. Что там можно искать у класса из 3-х полей и 3-х методов, который объявлен в рядом лежащем файле?! 5. Почему, когда в хидере объявляешь метод, он автоматом не создаётся в сорс файле, а всё приходиться печатать вручную, как-будто кодишь в обычном текстовом редакторе? 6. При желании перейти от объявления метода к реализации или наоборот может перекинуть куда-нибудь не туда, либо вообще не отреагировать. В худшем случае "упасть". 7. Не предлогает переименовать все ссылки, если переименовывешь переменную или класс. 8. Зачем мне показывать хидер, где объявлен метод, когда я навожу мышкой на него, а не его сигнатуру, что тоже логичнее? 9. Бывает вообще никаких подсказок не выдаёт. Это когда что-то не дописал, решил вернуться чуть-чучть назад кое-что подправить, и всё, фиг с маслом. Для чего эта блокировка подсказок при якобы одной хотя бы ошибки? Или не высвечивает в таком случае "dynamicArray[dyn...]", а хочеться написать "dynamicArray[dynamicArray.Length - 1]". Всё, что я привёл здесь в пример, в других IDE это давным давно уже это не новость и всё давно подсвечивается и подставляется. Это в Visual Studio, Qt Creator, CLion и других, даже в не сишных (IntelliJ IDEA, PyCharm, NetBeans и т.п.) и небольших IDE. Интересно, редактор кода RAD Studio дорастёт когда-нибудь тоже до такого?
  11. Привет, форумчане! Я уже как-то задавал подобный вопрос, но видимо никто не сталкивался с этим. Может быть сейчас кто-нибудь столкнулся. Эта проблема качует из версии в версию и никто не исправляет это, а может быть я что-то не всё правильно делаю. Конкретнее, я в своём проекте использовал TcxPageControl от DevExpress и TFDConnection, TFDQuery от FireDAC. Теперь я удалил эти элементы из своего проекта, совершенно нигде не использую TcxPageControl и приложение у меня теперь не коннектится напрямую с базой данных. Вручную почистил все #include и #pragma link, но линковщик C++ Builder мне всё равно усердно впихивает cxPageControlRS25.bpl и firedac250.bpl в exe-шник. Если делать Deployment на удалённую машину с динамическими зависимостями от рантаймов, то соответственно туда тоже копируются эти ненужные cxPageControlRS25.bpl и firedac250.bpl. Открыл проект *.cbproj как текст и увидел там эти самые названия. Можно конечно вручную тоже их поудалять, но есть ли какой-то адекватный способ удаления зависимостей от уже ненужных библиотек, что бы вручную не выкосить что-нибудь лишнее? Это я как пример всего две bpl упамянул, а на самом деле там больше, ведь DevExpress и FireDAC там за собой тащат ещё кучу всяких bpl, типа там dxCore.bpl, datadb.bpl и т.п. Вот и происходит такая мусорка в скомпилированном файле и размер соответственно напрасно большой делается. В Visual Studio я с подобным не сталкивался.
  12. Я видел видео демо от г-на Крюкова. И что там прям полноценный FMX или просто подобие?
  13. Здравствуйте, Ярослав! Скажите, пожалуйста, есть ли какая либо информация о планах поддержки Linux в C++ Builder? Нашей компании очень подходит RAD Studio для наших целей и быстрой разработки. Планируем приобрести лицензию. В ближайшее время планируем разрабатывать наше решение для Windows, macOS и Android, пока этого достаточно. Но есть некоторые сомнения о выборе RAD Studio и всё из-за того, что примерно через год потребуется наше решение реализовать и для Linux. Какова вероятность, что C++ Builder обзаведётся поддержкой Linux'а в течении 1 - 1,5 года? Delphi не рассматриваем. Заранее спасибо за ответ.
  14. Pulsarius

    TIdTCPServer и данные

    Здравствуйте! Очень нужна помощь с TIdTCPServer или возможно моя задача решается каким-то другим компонентом или библиотекой. В общем, мне нужно получить с сокета не только данные, но и весь пакет целиком, т.е. со всеми TCP и IP заголовками. Возможно ли сделать это через TIdTCPServer? Конечно можно на C++ самостоятельно реализовать TCP/IP стек, но не хотелось бы терять на это время и "изобретать велосипед" в очередной раз. А конкретнее мне нужно получить весь TCP/IP пакет с заголовками и данными, запаковать его ещё в PPP и отправить на COM порт, чтобы добиться некого аналога виндового стандартного телефонного модема (Dial In). Буду благодарен за какую-либо помощь!
×
×
  • Создать...