169 похожих чатов

Добрый вечер! Изучаю книгу "Адаптивный код". В ней приводится пример

добавления библиотеки классов (C# и Visual Studio) в качестве зависимости у консольного приложения. Причём библиотека классов и консольное приложение это разные проекты, объединённые в одно "Решение" (типо "Группа проектов" в Lazarus и Delphi, насколько я понял).

В Lazarus аналогом библиотеки классов является общая библиотека (shared library). Какие есть варианты создания зависимости у проекта консольного приложения к проекту общей библиотеки? Пока в голову приходит только создание пакета.

31 ответов

20 просмотров
Kirill-Filippenok Автор вопроса

MessagePrinter - библиотека классов SimpleDependency - консольное приложение

О сколько нам открытий чудных, готовить просвещения дух... Почитай лучше про планировщик процессов у Багеля. Вот это круть. Это не выполнение задач по расписанию. Это например зависимость процессов. Очень круто. До сих пор вспоминаю... а уж столько лет прошло.

Зачем ты хочешь себе геморрой создать?

Kirill-Filippenok Автор вопроса
Hemul GM
Зачем ты хочешь себе геморрой создать?

Учусь создавать приложения, адаптирующиеся к изменениям

Kirill Filippenok
Учусь создавать приложения, адаптирующиеся к измен...

Эм. И мы думаешь "зависимость" - это повышение адаптации к изменениям?

Hemul GM
Эм. И мы думаешь "зависимость" - это повышение ада...

При грамотно выбранной "точке сборки", имеет место быть.

Kirill-Filippenok Автор вопроса
Hemul GM
Эм. И мы думаешь "зависимость" - это повышение ада...

Гэри Маклин Холл (автор книги) пишет что необходимо правильно составлять зависимости. Я буквально на первом примере застрял. Тут описывается взаимодействие Клиента (консольного приложения) и Службы (библиотеки классов)

Kirill Filippenok
Гэри Маклин Холл (автор книги) пишет что необходим...

При этом он не говорит, что эти зависимости - это хорошо

Kirill-Filippenok Автор вопроса
Hemul GM
При этом он не говорит, что эти зависимости - это ...

Он говорит что без зависимостей не обойтись

Kirill-Filippenok Автор вопроса

Пока накопал про Delphi packages. Они вроде как умеют так же классы экспортировать

Kirill-Filippenok Автор вопроса
Hemul GM
Ну нахера тебе это надо?

Да я сам пока не знаю, я только начал изучать

Hemul GM
Ну нахера тебе это надо?

Ген, ну че ты колючки разбрасываешь для ищущего знания? Ты тоже только на чужих ошибках и опыте учился? "Дай человеку попрогать" © :)

Ed Doc
Ген, ну че ты колючки разбрасываешь для ищущего зн...

Навряд ли я буду показывать дорогу через говно, если знаю, что вон там можно обойти спокойно

Ed Doc
ты покажи и отойди :) Зачем пинать?

Ну я и показал, там - говно, вон там - норм дорога

Kirill-Filippenok Автор вопроса
Hemul GM
Ну я и показал, там - говно, вон там - норм дорога

А интерфейс у вас описан вне библиотеки? И как вы его потом освобождаете?

Рекомендую при разработке отдавать приоритет потребностям, а не возможностям. То есть тебе надо сделать программку на 10 формочек, то делай как умеешь. Когда у тебя будет 100 формочек и постоянные доработки и перетасовки функционала, тогда потребность в модульности возникнет сама собой.

Kirill Filippenok
А интерфейс у вас описан вне библиотеки? И как вы ...

Интерфейс сам освободит память, если использовать его как обычно

Kirill-Filippenok Автор вопроса
Hemul GM
Интерфейс сам освободит память, если использовать ...

То есть когда ссылки на него закончатся?

Kirill Filippenok
А интерфейс у вас описан вне библиотеки? И как вы ...

Начни читать. Если ты работаешь с интерфейсом, как с IInterface, он сам себя освободит, когда счетчик в 0 перейдет.

Sergey Bodrov
Рекомендую при разработке отдавать приоритет потре...

В данном случае, 100 формочек - тоже не оправдывает модульность. А вот, если часть формочек может быть не нужна вообще, тогда да

Kirill Filippenok
То есть когда ссылки на него закончатся?

Да. Счетчик ссылок работает и "снаружи"

Hemul GM
В данном случае, 100 формочек - тоже не оправдывае...

Да можно и формы создавать по шаблону на лету. Если они все почти одинаковые.

Kirill-Filippenok Автор вопроса
Hemul GM
Интерфейс сам освободит память, если использовать ...

А интерфейс у вас описан вне библиотеки? Чтобы можно было с ним взаимодействовать

Kirill Filippenok
А интерфейс у вас описан вне библиотеки? Чтобы мож...

Интерфейс ты можешь описать где хочешь. Хоть скопировать. Главное, чтоб совпадали сигнатуры

Hemul GM
Интерфейс ты можешь описать где хочешь. Хоть скопи...

поэтому интерфейсы удобно использовать когда нужно работать с совсем разными классами. можно один и тот же интерфейс реализовать в двух классах у которых нет общих предков и обращаться к интерфейсам однообразно. собственно как раз в VCL/FMX так и есть: классы полностью разные но реализуют одинаковый интерфейс и этого достаточно

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта