|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Пока имеется простая DLL с двумя экспорт функциями Open() и Close() возвращающими соответствующие строки "Open" и "CLose". По замыслу, DLL будет предназначена для обработки инфы и записи/чтения в БД SQLite. Вся обработка должна быть внутри классов. Уже при одной попытке добавить в проект VS 2015 класс (даже без его использования) DLL перестает функционировать, хотя все компилируется. Удаляем - все восстанавливается. Пока хоть с этим как-то справиться.) Ранее решалась примерно аналогичная задача на смеси С++ и классов CLR. На этот раз лучше на чистом С++. "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 21:20 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Что такое "перестает функционировать"? А как оно раньше функционировало? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 21:42 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Нормально. Приложение подключалось к ДЛЛ и получала строки при вызове функций из ДЛЛ. Фукция типа Код: plaintext 1. 2. 3. 4.
Close() аналогична. Добавляемый класс - шаблон VS с пустыми конструктором и деструктором, без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 21:54 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
ЗЫ При добавлении класса к проекту ДЛЛ вообще отказывается подключаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 21:56 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Это что-то с VS. Нарисовал небольшой класс. Все создается, доступ к членам есть. Никаких проблем. Когда класс добавляется через меню VS вся работоспособность ДЛЛ теряется. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 23:21 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Ничего не понятно. Ты бы сделал два простеньких проекта (DLL и EXE) с демонстрацией проблемы и выложил бы их сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 10:23 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Dima T, все было отработано на ДЛЛ+ консоли ЕХЕ. Там проблем не было. А проблема всего-то - создаешь класс из меню VC, и даже без его использования ДЛЛ прекращает функционировать. Создаешь класс в коде коде самой ДЛЛ, где экстерн функции - все функционирует. Я, короче, плюнул, и делаю руками. Пока все ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 17:14 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Есть такая шутка: Если программа выполняет мистические действия - значит вы написали что-то невероятно глупое. PS Неоднократно убеждался что так бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 20:42 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
Dima T, мистика закончилась.)) Чтобы не таскать ДЛЛ, она использовалась приложением непосредственно из папки Debug VS. Пока ДЛЛ была простенькой, все работало. Усложнение - попытки использовать в ней классы или др. ДЛЛ - в смысле работоспособности все сыпалось. После переноса ДЛЛ непосредственно в папку использующего ее приложения вся мистика закончилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2019, 11:34 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBA, может с динамическим рантаймом собрал? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2019, 18:18 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBAЗЫ При добавлении класса к проекту ДЛЛ вообще отказывается подключаться. Ну ты с такой подачей информации и вопроса рискуешь надолго оставаться один на один с проблемой... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 14:56 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBAНормально. Приложение подключалось к ДЛЛ и получала строки при вызове функций из ДЛЛ. Фукция типа Код: plaintext 1. 2. 3. 4.
Close() аналогична. Добавляемый класс - шаблон VS с пустыми конструктором и деструктором, без изменений. extern "C" char Open() extern "C" тут не нужно, если речь идёт о работе на С++. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 14:58 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBADima T, мистика закончилась.)) Чтобы не таскать ДЛЛ, она использовалась приложением непосредственно из папки Debug VS. Пока ДЛЛ была простенькой, все работало. Усложнение - попытки использовать в ней классы или др. ДЛЛ - в смысле работоспособности все сыпалось. После переноса ДЛЛ непосредственно в папку использующего ее приложения вся мистика закончилась. Да если бы... Она будет ещё долго продолжаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 14:59 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBA...После переноса ДЛЛ непосредственно в папку использующего ее приложения вся мистика закончилась. чтоб не было мистики - читаем альмаматер учебники.. Джеффри Рихтер подчерпнёте как оно устроено, а не в догадках бродить будете. удачи вам (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 20:58 |
|
Использование классов в DLL
|
|||
---|---|---|---|
#18+
YUBAПосле переноса ДЛЛ непосредственно в папку использующего ее приложения вся мистика закончилась.В таких случаях рекомендуется задавать полные пути до DLL, не промахнешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 12:45 |
|
|
start [/forum/topic.php?fid=57&gotonew=1&tid=2017598]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 274ms |
total: | 436ms |
0 / 0 |