|
|
|
C++
|
|||
|---|---|---|---|
|
#18+
Кто может, помогите! Не получается экспортировать класс из DLL - неявно получается, а через LoadLibrary No. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 12:42 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
Думаю твою проблему проще всего решить, используя COM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 13:48 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
А. Широкову Подскажи начинающему, please, каким образом. Буду благодарен за любую инфу по теме Я хочу свою DLL, содержащую классы, грузить явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 17:56 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
Понимаете, я не смогу объяснить на пальцах эту технологию. Ничего сложного в этой технологии нет (ваш класс всего лишь должен реализивывать по меньшей мере один интерфейс, а именно IUnknown), но даже для создания простейшего COM класса вы должны много чего понимать. Идеальным введением (на мой взляд) в тему является книга Дональда Бокса "Сущность технологии COM". Очень рекомендую. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 18:28 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
Можно и не использовать COM, самому сделать нечто подобное IUnknown. А можно и технологическим путем пойти - использовать имена функций с mangling-ом. Только зачем- я не понимаю. Если нужно отложенную загрузку dll изобразить - линкер это и при статической компановке умеет делать. Сделаешь функцию пустую, типа _InitLibrary() вызовешь ее первой - библиотека загрузится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 21:33 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
За книгу большое мерси, уже читаю с увлечением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 04:57 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
kickdownЗа книгу большое мерси, уже читаю с увлечением Можна еще Д.Роджерсона "Inside COM", А.В..Коберниченко "Visual Studio 6. Искусство программирования" - сам не читал (достать негде), но в аннотации разрисовано все красиво (кстати, есть где-нить электронный вариант данной книженции ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 10:23 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
2MasterZiv с mangling ничего не выходит. через GetProcAddress получаю адреса всех методов, но объект не конструируется. Пробовал также делать глобальную ф-цию, которая return указатель на объект- один рез. 2Alex_VC вам тоже большое мерси. Будем искать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 18:41 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
kickdownчерез GetProcAddress получаю адреса всех методов, но объект не конструируется. Это как это ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 19:47 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
MasterZiv kickdownчерез GetProcAddress получаю адреса всех методов, но объект не конструируется. Это как это ? почему не конструируется ?, если экспортировать функцию которая создает объекты то все прекрпсно конструируется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 19:51 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
Почитал я малость книгу "Дональд Бокс. Сущность технологии СОМ" и снизошло на меня легкое озарение. Всем большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 01:54 |
|
||
|
C++
|
|||
|---|---|---|---|
|
#18+
kickdown2MasterZiv с mangling ничего не выходит. через GetProcAddress получаю адреса всех методов, но объект не конструируется. Проблема в том, что линковщик при сборке библиотеки всем именам объектов(классов, функций, переменных) использует кривые имена, меняя тем самым, твои доморощенные. Решается очень просто: dumpbin'ом смотришь реальные имена, создаешь .def файл, меняя эти имена на любые, приемлимые для тебя. Подключаешь его к проекту, и ВСЕ ОК!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 22:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33294918&tid=2032570]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 329ms |

| 0 / 0 |
