Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Прога на C++ Builder 5.0 кушает память. Место локализовано, но что делать?

2.1K
03 февраля 2004 года
VisualCraft
20 / / 24.11.2003
//Подготовка
Query1->SQL->Text="INSERT INTO table1(Field1,Field2) VALUES ("+v1+","+v2+")";

//Проверено, именно этот кусок кода регулярно кушает память примерно по 100-200 байт
try{Query1->ExecSQL();}
catch ( ... ){ //Попытка дублирования первичного ключа
try{
if(Query1->Active) Query1->Close();
Query1->SQL->Text="SELECT * FROM table1 WHERE Field1="+v1;
Query1->Open();
if(!Query1->IsEmpty()){ //Обновить запись свежими данными
Query1->SQL->Text="UPDATE table1 SET Field2="+v2+" WHERE Field1="+v1;
try{Query1->ExecSQL();}
catch ( ... ){/*это никогда не случается*/}
}
}
catch ( ... ){/*это никогда не случается*/}
}

VCL грязно работает?
В чем тут дело и как победить?
2.1K
05 февраля 2004 года
VisualCraft
20 / / 24.11.2003
Ответ найден
catch(CExeption *e){e->Delete();}
catch(Exeption &e){e.Free();}
дока рекомендует delete.
delete e;

Всем спасибо за участие
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог