Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В какой части кода освобождать память 
:(
    Опции темы
DubAlex
Дата 16.5.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.2.2006

Репутация: нет
Всего: нет



Есть проект, который при компиляции формирует DLL. И есть исполняющая программа для этой DLL. Код исполняющей программы изменять нельзя. В коде DLL выделяется память под массив: 
Код

arr =new Tarr[kolTelN]; 

Если исполняющую программу закрывают, то память должна освобождаться: 
Код
delete [] arr; 

Проблема в том, что я не знаю, куда вставить этот код с удалением (в DLL). 
Вопрос: Куда? 
PM MAIL   Вверх
SergeCpp
Дата 16.5.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 5
Всего: 124



DllMain

DLL_PROCESS_DETACH 
PM MAIL WWW ICQ   Вверх
DubAlex
Дата 17.5.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.2.2006

Репутация: нет
Всего: нет



Цитата(SergeCpp @ 16.5.2006,  14:25)
DllMain

DLL_PROCESS_DETACH

Написал следующую функцию в файле cpp моей DLL:
Код

BOOL APIENTRY DllMain(HANDLE hModule, DWORD  fdwReason, LPVOID lpReserved)
{
    if(fdwReason==DLL_PROCESS_DETACH)
    {
        return TRUE; 
    }
    return FALSE;
}
 
Теперь появляется ошибка:
Код

nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in gsm.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in gsm.obj; second definition ignored
   Creating library Debug/dataserv.lib and object Debug/dataserv.exp
Debug/dataserv.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

Как ее исправить? 
PM MAIL   Вверх
Earnest
Дата 17.5.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(DubAlex @  17.5.2006,  12:00 Найти цитируемый пост)
Написал следующую функцию в файле cpp моей DLL:

Если до этого твоя DLL нормально работала, значит эта функция в ней уже была. А ты написал еще одну. Вот линкер тебе и говорит, что у функция DLLMain имеется в двух экземплярах.

Возможна ситуация, что где-то вставляется "инклудом" файл со стандартной реализацией DllMain - визард в некоторых случаях так делает. 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0904 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.