Утечка памяти или баги С++???
От: Nord-Dron Россия  
Дата: 07.06.03 08:09
Оценка:
Всем привет, кто работал с DBChart помогите.
Создал я DBChart1, Series1, подключил к Series1 ADODataSet через ADOConnection1, к кот. подключаю базу данных (dbf, MSacess, MSSQL...)
Из Series1 извлекаю элементы и загружаю в 2 динамических массива double
Затем создаю еще 3 массива и их элементы запихиваю в Series2, 3, и 4.
Графики строятся все работает. НО:
Как только закрываю приложение из под дебаггера вылезает ошибка:
"Project prognoz.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'."
После нажатия Ок:
"Project prognoz.exe raised exception class EExternalException with message 'External exception C0000025'. Process stopped. Use Step or Run to continue."
А если просто запустить прогу, то при выходе:
"Инструкция по адресу "0x4000572c" обратилась к памяти по адресу "0x40563f84". Память не может быть "read"." и так далее еще 2 раза потом:
"Исключение unknown software exception (0xc0000027) в приложении по адресу 0x77e86e8b."
Затем приложение закрывается.
массивы удаляю: delete[] mass;
Series'ы очищаю :Series->Clear();

В чем трабл???


11.06.03 16:52: Перенесено модератором из 'C/C++' — ПК
Re: Утечка памяти или баги С++???
От: Аноним  
Дата: 11.06.03 03:52
Оценка:
Здравствуйте, Nord-Dron, Вы писали:

ND>Всем привет, кто работал с DBChart помогите.

ND>Создал я DBChart1, Series1, подключил к Series1 ADODataSet через ADOConnection1, к кот. подключаю базу данных (dbf, MSacess, MSSQL...)
ND>Из Series1 извлекаю элементы и загружаю в 2 динамических массива double
ND>Затем создаю еще 3 массива и их элементы запихиваю в Series2, 3, и 4.
ND>Графики строятся все работает. НО:
ND>Как только закрываю приложение из под дебаггера вылезает ошибка:
ND>"Project prognoz.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'."
ND>После нажатия Ок:
ND>"Project prognoz.exe raised exception class EExternalException with message 'External exception C0000025'. Process stopped. Use Step or Run to continue."
ND>А если просто запустить прогу, то при выходе:
ND>"Инструкция по адресу "0x4000572c" обратилась к памяти по адресу "0x40563f84". Память не может быть "read"." и так далее еще 2 раза потом:
ND>"Исключение unknown software exception (0xc0000027) в приложении по адресу 0x77e86e8b."
ND>Затем приложение закрывается.
ND>массивы удаляю: delete[] mass;
ND>Series'ы очищаю :Series->Clear();

ND>В чем трабл???


Проверь, закрываешь ли connection, recordset и прочее, из той же оперы.
Re: Утечка памяти или баги С++???
От: Awaken Украина  
Дата: 11.06.03 06:21
Оценка: 24 (1)
по смыслу больше похоже не на утечку памяти а на обращение к объекту после того как он уже не существует
проверь не вызывается ли деструктор массива раньше в то время как какой=то объект еще использует этот массив
Re[2]: Утечка памяти или баги С++???
От: Nord-Dron Россия  
Дата: 12.06.03 18:29
Оценка:
Здравствуйте, Awaken, Вы писали:

A>по смыслу больше похоже не на утечку памяти а на обращение к объекту после того как он уже не существует

A>проверь не вызывается ли деструктор массива раньше в то время как какой=то объект еще использует этот массив
Ты прав. Просто убрал удаление массивов (локальные они) и все работает.
Спасибо за отзыв.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.