Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2023, 19:33   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию "Вшить" процедуры из dll

У меня такой вопрос к статической загрузке dll:
Есть ли при этом возможность "вшить" в программу процедуры из dll?

Так, чтобы они при компиляции копировались в exe-шник
Kronos913 вне форума Ответить с цитированием
Старый 10.10.2023, 06:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Нет. Для этого есть lib
p51x вне форума Ответить с цитированием
Старый 10.10.2023, 11:05   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну а если декомпилировать dll и полученный код вставить в исходник ? Хакать - так хакать!
Реверс-инжиниринг, грубо говоря.
----------------------------
Вообще - меня поражает масштаб проблем, поднимаемых ТСом. Всё-всё-всё делать через чёрт-знает-что, абы посложнее.

Последний раз редактировалось digitalis; 10.10.2023 в 11:10.
digitalis вне форума Ответить с цитированием
Старый 10.10.2023, 11:24   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Угу, только вставлять надо будет и все остальные функции, на которые ссылается данная, глобальные переменные и т.д. + проследить, что на оптимизировал компилятор...
p51x вне форума Ответить с цитированием
Старый 10.10.2023, 17:30   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Само собой...
Но "нормальные герои всегда идут в обход" © и не ищут лёгких путей
digitalis вне форума Ответить с цитированием
Старый 11.10.2023, 01:05   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Но почему-то эти "нормальные герои" на путях обхода всегда утыкаются в сортир (обозначенный на плане словом Ж..А)
northener вне форума Ответить с цитированием
Старый 11.10.2023, 07:20   #7
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

эти процедуры для того и сделали в DLL, чтоб в самом коде не было кучи переменных и процедур. а вы обратно хотите их в код примешать. дело, конечно, ваше... ну, декомпиляция вам в помощь... дай бог, чтоб там была 1-2 процедуры или функции, а не 100-200...
-----------
ну, мне, конечно, нравится, когда все данные в одном приложении (самодостаточное) и не надо параллельно копировать библиотеки или прочие файлы, но оно того стоит, спрашивается?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.10.2023, 10:50   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
... "нормальные герои" на путях обхода всегда утыкаются ...
Кажется, это и наблюдаем.
digitalis вне форума Ответить с цитированием
Старый 12.10.2023, 09:40   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Ну если гулять, то гулять! Зашиваем код всей библиотеки DLL в EXE. При запуске создаем файл, куда сохраняем код библиотеки. Библиотеку подключаем, работаем с ней. А после удаляем данный файл. Хочется же через одно место программу написать. Это будет замечательное решение!
Arigato на форуме Ответить с цитированием
Старый 12.10.2023, 10:16   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вы опоздали, ТС уже создавал тему, как запускать dll из памяти.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" billiejean78 JavaScript, Ajax 1 03.09.2021 08:58
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" link90 Общие вопросы C/C++ 2 27.03.2016 12:34