Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 27 апр 2024, 16:10

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 16 ноя 2023, 18:25 
Не в сети

Зарегистрирован: 25 фев 2019, 14:39
Сообщений: 61
Добрый день!

Использую EhLib довольно давно, причём возможно MemTableEh с обвязкой используется гораздо чаще, чем гриды и прочие визуальные компоненты.
Возникла идея использовать наработанный поверх EhLib код в приложениях, который работают на Linux в режиме демона (ну или "сервиса"). То есть на сервере, где GUI нет и быть не может.

Разрабатывается это всё в Lazarus на Windows, используется кросс-компиляция. При попытке подключить модуль MemTableEh к консольной Linux-программе возникает ошибка линковки, нужна библиотека pangocairo, то есть, где-то в зависимостях есть как минимум Forms. Собственно, Forms нашёлся прям в секции uses, он используется для design-time и обработки исключений. Легко правится директивами условной компиляции для работы в консоли.

А вот модуль MemTableDataEh, который тоже нужен, так просто не поправить, потому что он зависит от ToolCtrlsEh, который "тащит" за собой много разных модулей, включая, по цепочке, например, модуль для работы с принтером... При этом, насколько я понял, используются оттуда вполне "изолированные" классы.

В общем, вопрос к разработчику: можно ли как-то использовать разделить невизуальное и компоненты, которым нужен GUI, в Ehlib или такой рефакторинг невозможен?
Спасибо!

С уважением
Евгений.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 ноя 2023, 20:17 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

В текущей версии библиотеки, к сожалению, нет разделения пакетов на графически-зависимую и графически-независимую часть.

Если вам очень нужен компонент MemTableEh без доступа к графическим функциям, то вам придется сделать это разделение самостоятельно.

Мы планируем добавить такое разделения в следующую версию библиотеки.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 ноя 2023, 16:01 
Не в сети

Зарегистрирован: 25 фев 2019, 14:39
Сообщений: 61
Спасибо, понятно.

Сейчас отделил всё достаточно грубо, получилось, что сильно пострадали TDataSetFeaturesEh и, понятное дело, всё, связанное с design-time.
Основная функциональность, кажется, работает.

Что несколько удивило, оказалось много функций общего назначения, например
Код:
function RemoveLineBreaksFromText(Text: String): String;
тоже находились в модулях, зависящих от GUI.

Конечно, очень хотелось бы видеть более грамотное разделение от автора библиотеки, поскольку почти наверняка я пропустил какие-то нюансы. Но сейчас понимаю, что если это делать вдумчиво, то процесс не быстрый :)

С уважением
Евгений.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB