| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Информация о написании DLL |
| Автор: vikaz 10.12.2009, 13:16 |
| Всем добрый день! Ребята, подскажите, кто находил информацию по написанию DLL на С++ Builder. Основы по написанию dll я знаю, но на данный момент этого недостаточно. Пишу программу, в которой получается много форм + графика (красота), хочется все разнести по модулям, что уменьшит основной код, да и легче потом сопровождать и дорабатывать. В конечном итоге, хочется получить что-то на подобие Miranda. Если кто-то находил книги, статьи по этой тебе, то буду благодарен за ссылки. Заранее спасибо..... |
| Автор: artsb 10.12.2009, 13:25 |
| Выносить нужно такие куски кода, которые редко используются. Т.е. например, обработчик кнопки "Сохранить" нет смысла выносить. А так, суть та же, что и при построении обычного приложения. |
| Автор: vikaz 10.12.2009, 13:59 |
| Это все понятно, но там, конечно же, дело не только в кнопке! ЗЫ. Надеюсь что ни dumb, ни Vyacheslav не перенесут эту тему. Хоть и нарушает правила, но если её отсюда уберут, о ней можно будет забыть! |
| Автор: Alca 10.12.2009, 14:06 | ||
Так она вроде как оупенсорс |
| Автор: vikaz 10.12.2009, 14:44 |
Конечно! Я не собираюсь писать подобие Miranda, я привел его в пример, как приложение, работа которого полностью построена на внешних модулях. |
| Автор: Alca 10.12.2009, 15:12 | ||
А смотреть как устроена? |
| Автор: THandle 10.12.2009, 16:23 |
| vikaz, использовать систему плагинов. Посмотри вот тут(хоть и Delphi но довольно много полезной информации): http://gunsmoker.blogspot.com/2008/12/1.html |
| Автор: vikaz 10.12.2009, 19:01 | ||||
Камрад, в смысле вшиваются в exe. Ты не прав. Dll-ки так же лежат рядом как и при динамической, единственное, что в процессе компиляции, в проект должны быть добавлены *.h файл(ы) от Dll-ки и lib файлы.... И все....
Добавлено через 1 минуту и 37 секунд Угу, понять и разобраться как все это организованно...... Огромное спасибо, посмотрю..... |
| Автор: artsb 10.12.2009, 23:19 |
| vikaz, в цитате ничего не говорится о том, что при статической линковке dll'ки лежат рядом |
| Автор: artsb 10.12.2009, 23:34 | ||
vikaz,
http://www.securitylab.ru/analytics/278480.php |
| Автор: vikaz 11.12.2009, 06:11 |
| На выходных напишу демку, и посмотрим, нужна будет ли dll-ка, если я статически подключу её к проекту. DLL-ки и при статическом и динамическом подключении одни и те же. Но чтобы не повторяться сделаю демку..... ЗЫ. Если DLL-ка при статическом подключении вшивается в exe файл и при этом она не требуется, в чем я очень сомневаюсь, то теряется весь смысл dll-ки в принципе.... :( |
| Автор: mrbrooks 11.12.2009, 08:58 | ||
согласен. ценность такого деяния нулевая. |
| Автор: xvr 11.12.2009, 12:24 | ||
Ничего не путаешь? .dll В ПРИНЦИПЕ не умеют никуда 'вшиваться', т.к. не поддерживают статическую линковку с собой. Для статической линковки используются .lib'ы |
| Автор: artsb 11.12.2009, 15:59 |
Я уже сделал...Ты был прав! Но я думал... Теперь придётся "думать" по-другому |
| Автор: Sharkfire 11.12.2009, 18:14 | ||||||
| Сейчас занимаюсь той-же проблемой. Начал писать программку и наткнулся на ошибку PRIVILAGED INSTRACTION при попытке вызвать функцию из DLL Код вызова:
Хедер DLL:
Реализация DLL
помогите если кто знает в чём бролема |
| Автор: xvr 11.12.2009, 18:58 |
| А что такое getInitInfoProt? И чему равен InitInfo на момент вызова? И как он описан (сама переменная InitInfo) в программе? |
| Автор: vikaz 11.12.2009, 19:17 | ||
|
| Автор: shklowsky 12.12.2009, 16:41 | ||
|