| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > DLL и программа |
| Автор: Sheff_Guest 31.10.2004, 21:40 | ||||
| Уважаемые программисты, такая проблема: Есть код в проге:
Функция fnDLL в DLL'ке:
Тут-то и вылетает ошибка и ясное дело, адрес-то я передаю из проги, а в DLL своя адресация и переменных из проги она не видит, как это исправить, тока MMF, shared data segment'ы не предлагать, меня это не устраивает |
| Автор: S.A.P. 1.11.2004, 08:50 |
| А стоит ли так поступать? Не лучше ли освобождать память в вызывающем процессе? |
| Автор: Vaulter 1.11.2004, 11:28 | ||
| Sheff_Guest ошибка скорее всего ближе к этому месту
, поподробнее... |
| Автор: S.A.P. 1.11.2004, 11:41 | ||
Vaulter, указатель передается из другого адресного пространства в этом то и ошибка, а вот как закрыть память из DLL? |
| Автор: Guest 1.11.2004, 12:34 | ||
|
| Автор: Mad 1.11.2004, 12:45 | ||||
Вопервых непонятно чем не устраивает
DLL-ка вообщето грузится в адресное пространства процесса (иначе она вообще смогла бы общатся с вызвашим только через IPC механизмы). Тут дело в new. Попробуй заменить его на GlobalAlloc. а delete на GlobalFree (такая схема у меня работает). |