ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Возможности Динамических библиотек в Delphi
  #1  
Старый 10.08.2009, 02:59
Аватар для dzumohu4
dzumohu4
Новичок
Регистрация: 09.09.2008
Сообщений: 12
Провел на форуме:
26673

Репутация: 16
Cool Возможности Динамических библиотек в Delphi

Нужны ответы на следующие вопросы:
Во первых. - что можно сделать в .dll каким функционалом можно обеспечить?
Во вторых - поддерживают .dll ли написанные на delphi различные компоненты этой же среды разработки например работы с сетевыми протоколами?
Что мне нужно:мне нужно чтобы .dll распаковывалась а затем подгружалась из некоторой программы, и выполняла функции мониторинга системы, с реализацией клиента серверной технологии.
Возможно ли такое? каковы ограничения динамических библиотек относительно обыкновенных исполняемых файлов.

Если неправильно поставил вопрос поправьте, !НЕ ФЛУДИТЕ! !НЕ ЗАНИМАЙТЕСЬ ТРОЛЛИНГОМ! !АФФТАРАМ рекомендуется воздержатся от ответа.
 
Ответить с цитированием

  #2  
Старый 10.08.2009, 03:31
Аватар для Ra$cal
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

никаких особых ограничений нет. все что перечислил - возможно
 
Ответить с цитированием

  #3  
Старый 10.08.2009, 04:33
Аватар для De-visible
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Я Тролль.
Вообще все, что спросил читается по первым спискам выдачи гугла...
Так что это тупость...
 
Ответить с цитированием

  #4  
Старый 10.08.2009, 08:23
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Вообще в DLL можно всё. Т.е. она может быть и хранилищем ресурсов, и форму в себе содержать и код программы. Другими словами DLL по функционалу чаще всего имеет больше преимуществ чем обычная прога за исключением ряда моментов:
1) DLL сама по себе не может работать, только в контексте какого либо приложения. т.е. DLL ты не можеш запустить как обычную прогу, её необходимо подгружать в уже запущенную прогу (ну или она автоматом подгрузится если есть импорт из неё.)
2) После завершения работы проги, DLL тоже будет выгружена

Зато плюсов очень много:
1) DLL можно подружать во все GUI процессы посредством ключика в реестре
2) DLL можно юзать для глобальных хуков(собственно говоря - это единственный документированный метод)
3) DLL можно выгрузить в любой момент и загрузить обратно.
4) довольно простой метод определения состояния работы с DLL посредством значения параметров вызова точки входа
DLL_PROCESS_ATTACH - Программа подключается к DLL
DLL_THREAD_ATTACH - Поток программы подключается к DLL
DLL_THREAD_DETACH - Поток "оставляет" DLL
DLL_PROCESS_DETACH - Exe "отсоединяется" от DLL

Но вообще за исключением хуков итд итп DLL желательно использовать только в следующих случаях:
1) расширение функционала проги, который ранее не был предусмотрен в ней - банальный плагины
2) если набор одних и тех же процедур и функций используется в нескольких прогах. То их легче вынести в одну DLL а не вкомпилировать в обе проги
3) Для большей структуризации проекта, когда много очень кода, то функции группировать по функционалу в отдельные модули которые и будут предствалять из себя DLL. очень полезно при больших проектах. Тем более что при обнаружении ошибки для исправления достаточно исправить только одну DLL а не весь проект.
 
Ответить с цитированием

  #5  
Старый 10.08.2009, 15:34
Аватар для dzumohu4
dzumohu4
Новичок
Регистрация: 09.09.2008
Сообщений: 12
Провел на форуме:
26673

Репутация: 16
По умолчанию

Цитата:
Сообщение от slesh  
Вообще в DLL можно всё. Т.е. она может быть и хранилищем ресурсов, и форму в себе содержать и код программы. Другими словами DLL по функционалу чаще всего имеет больше преимуществ чем обычная прога за исключением ряда моментов:
1) DLL сама по себе не может работать, только в контексте какого либо приложения. т.е. DLL ты не можеш запустить как обычную прогу, её необходимо подгружать в уже запущенную прогу (ну или она автоматом подгрузится если есть импорт из неё.)
2) После завершения работы проги, DLL тоже будет выгружена

Зато плюсов очень много:
1) DLL можно подружать во все GUI процессы посредством ключика в реестре
2) DLL можно юзать для глобальных хуков(собственно говоря - это единственный документированный метод)
3) DLL можно выгрузить в любой момент и загрузить обратно.
4) довольно простой метод определения состояния работы с DLL посредством значения параметров вызова точки входа
DLL_PROCESS_ATTACH - Программа подключается к DLL
DLL_THREAD_ATTACH - Поток программы подключается к DLL
DLL_THREAD_DETACH - Поток "оставляет" DLL
DLL_PROCESS_DETACH - Exe "отсоединяется" от DLL

Но вообще за исключением хуков итд итп DLL желательно использовать только в следующих случаях:
1) расширение функционала проги, который ранее не был предусмотрен в ней - банальный плагины
2) если набор одних и тех же процедур и функций используется в нескольких прогах. То их легче вынести в одну DLL а не вкомпилировать в обе проги
3) Для большей структуризации проекта, когда много очень кода, то функции группировать по функционалу в отдельные модули которые и будут предствалять из себя DLL. очень полезно при больших проектах. Тем более что при обнаружении ошибки для исправления достаточно исправить только одну DLL а не весь проект.
Моя идея заключается в том что !Весь! функционал заключается именно в .dll, поскольку я не имею доступа к исходному коду приложения.

Спасибо за ответы(Троль Изыйди!!!)))
 
Ответить с цитированием

  #6  
Старый 11.08.2009, 13:17
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от dzumohu4  
Нужны ответы на следующие вопросы:
Во первых. - что можно сделать в .dll каким функционалом можно обеспечить?
Во вторых - поддерживают .dll ли написанные на delphi различные компоненты этой же среды разработки например работы с сетевыми протоколами?
Что мне нужно:мне нужно чтобы .dll распаковывалась а затем подгружалась из некоторой программы, и выполняла функции мониторинга системы, с реализацией клиента серверной технологии.
Возможно ли такое? каковы ограничения динамических библиотек относительно обыкновенных исполняемых файлов.

Если неправильно поставил вопрос поправьте, !НЕ ФЛУДИТЕ! !НЕ ЗАНИМАЙТЕСЬ ТРОЛЛИНГОМ! !АФФТАРАМ рекомендуется воздержатся от ответа.
тебе бы сперва книжку почитать...
 
Ответить с цитированием

  #7  
Старый 11.08.2009, 13:21
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

товарищи модеры, предлагаю такие темы сразу сносить или перекидывать в раздел для новичков, поскольку незная ничего и спрашивая о чемто конкретном подобные ТСы тока генерят кучу ненужных постов, среди которых довольно полезные темы просто тонут.
 
Ответить с цитированием

доступно...
  #8  
Старый 11.08.2009, 13:58
Аватар для mr. ZetRikS
mr. ZetRikS
Познающий
Регистрация: 17.07.2009
Сообщений: 47
Провел на форуме:
131272

Репутация: 4
Post доступно...

В DLL можно хранить помоему всё что угодно... dll ка это та же прога, только она сама не запускается, а ты её чем нить запускаешь (подгружаешь и юзаешь)...
Можно хранить наборы процедур/функций, файлы ресурсов (это уже по res файлам смотри), хранить эм... да всё... формы, картинки, курсоры, иконки...

На дельфи, как и помоему на других языках программирования с dll ками можно работать поразному, можно сразу весь набор подгрузить и все они будут хавать ресурсы системы, вне зависимости от того, юзается дллка или нет, или же можно подгружать все это дело динамически, что немного сложнее, но намного интереснее
Динамическая загрузка библиотек позволит использовать библиотеку тогда и только тогда, когда твоей проге что то от неё нужно, иначе она отключается, и лежит себе мёртвым грузом...

Кстати, не нашёл тут чб об этом сообщилось...
dll ка написанная на delphi 7 не подгрузится под RAD STUDIO 2009, в том же типо дельфи... и наоборот, если dll с тем же кодом откомпилировать на Rad Studio 2009 и попытаться подгрузить её в приложении откомпилированом в delphi 7, то она тупо не грузится...
Помнится пришлось оч сильно заморочится, перекомпилируя все библиотеки, которые нужно было подгрузить на Rad Studio 2009...

Так что имей в виду, что если накачаешься библиотек и будешь грузить их, то лучше искать с сорцами и все библиотеки перекомпилировать...

Попытался всё объяснить доступным языком... если что не понял, пиши...
 
Ответить с цитированием

  #9  
Старый 12.08.2009, 17:31
Аватар для dzumohu4
dzumohu4
Новичок
Регистрация: 09.09.2008
Сообщений: 12
Провел на форуме:
26673

Репутация: 16
По умолчанию

Не я подгружаю через Lord Pe с указанием Оригинальной точки входа DllEntryPoint.
Насчёт ущербности темы, да может показаться что вопрос я задал ребяческий, насчёт сферы применения, !не спорьте мне лучше знать куда что совать!(Ясен перец что сигарету в рот но речь не об этом).

Гугля я находил лишь ответы вроде того какой красивый сыр, а вот конкретных примеров реализации на определённом языке - увы.

Хороший, развёрнутый ответ дал slesh, за что ему плюс к репе, show показал то насколько он не уважает меня лично и всех кто задаёт вопросы впринципе.Как ни странно на твоей репе show это никаким образом не отразится.
mr. ZetRikS рассказал про то какое "масло масляное" дал пару полезных советов, за что получает благодарность в виде + к репутации.
Всем адекватным спасибо.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачать Delphi 7, помощь. _casper_ С/С++, C#, Delphi, .NET, Asm 20 08.12.2009 04:54
Пишем Jabber-клиент на Delphi lytgeygen Статьи 5 07.06.2009 01:45
Интересные вопросы по Delphi и не только CeHoKoC С/С++, C#, Delphi, .NET, Asm 4 20.04.2009 10:33
[статья] Решаем судоку на delphi crystalbit С/С++, C#, Delphi, .NET, Asm 2 31.03.2009 16:17
Семинар "Рекламные возможности Яндекса" / Краснодар / Итоги Liar SЕО - тонкости, методы раскрутки 2 21.03.2009 13:55



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ