C++. Проблема с передачей векторов
Добавлено: 27 окт 2006, 09:29
Win XP. VS 6. C++
1. есть библиотека Lib1 из которой экспортируется класс C1 с методом
2. есть MFC-extention M1 в которой импементирован диалог D1. В диалоге определен член
3. есть Dialog-based аппликация (use MFC as Shared DLL), которая создает об1ект С1 (из библиотеки Lib1) и передает указатель на него в диалог D1. В OnInitDialog() вызывается F1, для заполнения вектора (копируются только указатели на об1екты. Время жизни CMyObjects дольше чем диалога).
Проблема - деструктор диалога вызывает деструктор вектора и происходит crash если хоть один указатель был добавлен в вектор
Все компоненты скомпилорованы "Multithreaded DLL".
Был warning линкера, поиска в интернете, вставил MSVCRT.lib в "Ignore Libraries" - warning пропал, crash остался.
Где искать ?
1. есть библиотека Lib1 из которой экспортируется класс C1 с методом
Код: Выделить всё
void F1(vector<CMyObject*>&)
Код: Выделить всё
vector<CMyObject*> m_vObjects;
Проблема - деструктор диалога вызывает деструктор вектора и происходит crash если хоть один указатель был добавлен в вектор
Все компоненты скомпилорованы "Multithreaded DLL".
Был warning линкера, поиска в интернете, вставил MSVCRT.lib в "Ignore Libraries" - warning пропал, crash остался.
Где искать ?