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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2012, 14:34   #1
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию Явное подключение dll

Доброго всем времени суток!
Обращаюсь за помощью, а не за халявой (с соответствующей темой ознакомился). Начну издалека и заранее прошу меня извинить за терминолонию...

Я не являюсь программистом (разве что самую малось, но было это уже довольно давно, по меркам программирования, на delphi писал в рамках учебного процесса). Я студент - железячник. Собираюсь писать диплом в котором будет некоторый программный продукт реализованный на C++.

Программный продукт будет являться диагностической программой. Он будет иметь свой "каркас" на который будут навешаны DLL'ки. Готовый каркас уже имеется (написан на delphi), я его переведу на C++.

Собственно о DLL и пойдет речь, а именно о явном и неявном подключении (вроде бы ещё один способ есть... какой-то гибрид (отложенное кажется)). На просторах необъятного интернета есть примеры, которые мне, увы, понять не удаётся. Кроме того, эти примеры написаны в консоли. В силу скудной подготовки (синтаксис только осваиваю) провести аналогии с Windows Forms не могу.

Собственно чего прошу (как бы оно некрасиво ни звучало), напишите и скинте на форум примеры следующей программки:

Имеется 2 текстбокса, кнопка и лэйбл... по нажатию кнопки программа пользуется функцией из DLL'ки, например складывает эти 2 числа и выводит их в лэйбл. Очень прошу подобный простой пример, или боюсь не пойму синтаксиса


Сам я такую программку написал, но она подключается неявно (сам строил dll, в свойствах её подключал).

p.s. а если будет с исключительными ситуациями (хотя бы одна... к примеру не пустое ли поле ввода), то буду троекратно благодарен, т.к. это при разработке диплома обязательно понадобится. Как его оформить - не понимаю, опять таки примеры только в консоли (хотя мб и в формах так же). В дельфи помню были try - except, а здесь try и catch, да ещё throw какой-то...

p.p.s. спросил бы у преподавателя в колледже, но он, как я уже сказал, писал на дельфях и особо синтаксиса C++ тоже не знает.

Последний раз редактировалось Decoy2k; 02.02.2012 в 14:41.
Decoy2k вне форума Ответить с цитированием
Старый 02.02.2012, 16:52   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://www.programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 02.02.2012, 17:08   #3
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
А я кажется написал, что с темой ознакомился... а вы, уважаемый, видимо поленились и прочитали только то, что выделено.
Всё чего я прошу - чтобы на наглядном примере (а нагляднее сложения двух чисел найти сложно) показали как подключать dll'ки явно. И нужно мне это ввиду того, что в перспективе на этот "каркас" из моего диплома будут навешиваться dll'ки с API функциями и другими студентами а значит число подключаемых dll'ек очень велико. Т.к. я вычитал, что библиотеки, подключенные неявно грузятся в память в момент загрузки приложения, их использующего, значит другие приложения обратиться к ним уже не смогут (кажется я правильно понимаю), что может привести к конфликтным ситуациям.

Думаю теперь становится ясно, почему меня интересует явное подключение.

Последний раз редактировалось Decoy2k; 02.02.2012 в 17:10.
Decoy2k вне форума Ответить с цитированием
Старый 02.02.2012, 18:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Т.к. я вычитал, что библиотеки, подключенные неявно грузятся в память в момент загрузки приложения, их использующего, значит другие приложения обратиться к ним уже не смогут (кажется я правильно понимаю), что может привести к конфликтным ситуациям.
можно ссылку на сей бред?
если бы это была правда, все приложения бы вылетали, так как все применяют kernel32.dll
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.02.2012, 18:50   #5
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
можно ссылку на сей бред?
если бы это была правда, все приложения бы вылетали, так как все применяют kernel32.dll
Стало стыдно даже, об этом и не задумывался. Видимо у меня в голове уже перемешалось что-то... "загружаются в момент его запуска и остаются в памяти до его завершения (даже если другие запущенные приложения их не используют)" может быть невнимательно прочитал и меня эта фраза смутила вот отсюда, например (собственно при поисках натыкался очень часто на разных ресурсах на эту статью) http://www.rsdn.ru/?article/baseserv/dlluse.xml

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

Последний раз редактировалось Decoy2k; 02.02.2012 в 19:01.
Decoy2k вне форума Ответить с цитированием
Старый 02.02.2012, 18:50   #6
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Decoy2k Посмотреть сообщение
А я кажется написал, что с темой ознакомился... а вы, уважаемый, видимо поленились и прочитали только то, что выделено.
Ты хочешь, что бы за тебя кто-то писал программный код? О какой сумме идёт речь?
_Bers вне форума Ответить с цитированием
Старый 02.02.2012, 19:05   #7
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Да простят меня модераторы за несколько постов кряду, но осмелюсь спросить у опытных людей, к примеру (как наиболее солидно выглядящий вариант диагностического теста), вывод таблицы S.M.A.R.T жесткого диска реализовать сложно? и какую литературу мне посоветуете почитать касаемо этой проблемы. Если и это скажите, так вообще буду благодарен
Decoy2k вне форума Ответить с цитированием
Старый 02.02.2012, 19:13   #8
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Ты хочешь, что бы за тебя кто-то писал программный код? О какой сумме идёт речь?
Я от части понимаю Вас, Вам кажется, что я нерадивый студент, который просит написать за него элементарные вещи. Уверяю (хотя ни чем не могу доказать ) это не про меня. Я здесь не для пустой полемики, я только прошу, чтобы мне показали на конкретных примерах подключение. Как мне кажется, это одна из основ программирования. Если бы передо мной не встало такой необходимости, то я не обращался бы на ваш форум. К сожалению, у нас в колледже (опять-таки повторюсь) читали delphi (весьма отстало выглядит, все вокруг на C++ и C# пишут) и друзей у меня программистов к сожалению нет (ну тока с дельферы).

Довольно неожиданно для себя, всё на том же интернет-ресурсе наткнулся на дельфийный исходник интересующей меня таблицы S.M.A.R.T. http://www.rsdn.ru/?article/baseserv/dlluse.xml

Последний раз редактировалось Decoy2k; 02.02.2012 в 19:37.
Decoy2k вне форума Ответить с цитированием
Старый 02.02.2012, 19:58   #9
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Decoy2k
Цитата:
Имеется 2 текстбокса, кнопка и лэйбл... по нажатию кнопки программа пользуется функцией из DLL'ки, например складывает эти 2 числа и выводит их в лэйбл. Очень прошу подобный простой пример, или боюсь не пойму синтаксиса
если не запамятовал, в книге Фленова Библия Delphi именно такой пример и рассматривается

пс. а, тебе на билдере надо? ну аналогично в принципе
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 02.02.2012, 20:06   #10
Decoy2k
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2Decoy2k

если не запамятовал, в книге Фленова Библия Delphi именно такой пример и рассматривается

пс. а, тебе на билдере надо? ну аналогично в принципе
Нее, мне не на дельфях и не на билдере, мне на Visual C++ (ну который в visual studio есть). Всё равно спасибо за отклик.

Последний раз редактировалось Decoy2k; 02.02.2012 в 20:12.
Decoy2k вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение DLL Lui C# (си шарп) 5 14.01.2012 13:05
Подключение DLL Ninetta Общие вопросы .NET 3 01.04.2010 01:06
Подключение DLL __Demon__ C++ Builder 2 09.12.2009 00:29
Dll подключение к exe Horus92 Общие вопросы C/C++ 0 16.11.2009 15:31
Подключение DLL 5naip Помощь студентам 9 27.10.2007 20:55