![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
![]()
Как экспортировать структуру в DLL это понятно:
Код:
Загрузка DLL явная.
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]()
Под явной загрузке я понимаю речь идет о LoadLibrary()? В таком случае надо будет експротировать не структуру а функцию, которая будет возрващать указатель на екземпляр структуры.
Делать dllexport описания структуры смысла нет. Можно попробовать сделать dllexport переменной такого типа (в принципе так и делается) и потом попробовать через GetProcAddress() получить адрес - эдакая GetVarAddress получится. Не знаю сработает или нет, теоретически должно, на практике я так никогда не делал. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
![]()
Да я что то все равно не догоняю.
DLL Код:
Код:
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Думаю так:
Код:
Код:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
как обычно с помощью GetProcAdress()
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
![]()
Неее пишет что тип неразрешенные внешний символ get();
Вот код: Код:
Код:
Код:
error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Test::get(void)" (?get@Test@@QAEHXZ) в функции _main C:\Documents and Settings\Admin\Мои документы\Visual Studio 2010\Projects\TestStr\Main\Main.obj Main
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а методы кто будет экспортировать?
и при динамической линковке без вирт методов поидее не запашет. ИМХО. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
![]()
а на примере можно. Если не сложно
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 | ||
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
![]() Цитата:
Цитата:
Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Debugger Kernel BORDBK160.DLL or BORDBK160N.DLL is missing or not registered. | Человек_Борща | Общие вопросы Delphi | 0 | 15.07.2012 14:01 |
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) | Green Gin | Фриланс | 2 | 27.04.2012 15:26 |
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. | Лёнка | Компоненты Delphi | 1 | 23.04.2012 15:03 |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |