Здравствуйте, parsek, Вы писали:
P>Приветствую!
P>Не пойму, почему не работает блок __finally
Привет!
Все у тебя работает. Ты наверное брекпоинт внутрь __finally ставишь а дебагер пролетает мимо? так?
Вот попробуй поменять. а брек поинт ставь на выходе из функции.
__finally
{
// Cleanup and indicate failure, if appropriate.
res = HeapFree( GetProcessHeap(), 0, ptr );
if(res) ptr = 0;
}
Здравствуйте, 0x64Rm, Вы писали:
P>>Не пойму, почему не работает блок __finally
R>Все у тебя работает. Ты наверное брекпоинт внутрь __finally ставишь а дебагер пролетает мимо? так? R>Вот попробуй поменять. а брек поинт ставь на выходе из функции.
R>
R> __finally
R> {
R> // Cleanup and indicate failure, if appropriate.
R> res = HeapFree( GetProcessHeap(), 0, ptr );
R> if(res) ptr = 0;
R> }
R>
R>если не так то расскажи поподробнее
Проблема была не в этом коде, я все упростил, хотя этот пример у меня тоже не выполняет чистку. И после исправлений.
Может, Visual Studio глючит..
У Вас этот пример выполняет __finally?
Здравствуйте, parsek, Вы писали:
P>Проблема была не в этом коде, я все упростил, хотя этот пример у меня тоже не выполняет чистку. И после исправлений. P>Может, Visual Studio глючит.. P>У Вас этот пример выполняет __finally?
Возможно Visual Studio глючит. У меня на VC6 все ок. а попробуй посмотреть что GetLastError выдает ->
__finally
{
res = HeapFree( GetProcessHeap(), 0, ptr );
res = GetLastError();
}
да, кстати после успешного HeapFree ptr не меняет значения. Можно его самому в нулл обращать
Здравствуйте, 0x64Rm, Вы писали:
P>>Проблема была не в этом коде, я все упростил, хотя этот пример у меня тоже не выполняет чистку. И после исправлений. P>>Может, Visual Studio глючит.. P>>У Вас этот пример выполняет __finally?
R>Возможно Visual Studio глючит. У меня на VC6 все ок. а попробуй посмотреть что GetLastError выдает ->
R>
R> __finally
R> {
R> res = HeapFree( GetProcessHeap(), 0, ptr );
R> res = GetLastError();
R> }
R>
R> R>да, кстати после успешного HeapFree ptr не меняет значения. Можно его самому в нулл обращать
он же не выполняет HeapFree. Речь идет о том, что блок __finally вообще не исполняется.
Здравствуйте, parsek, Вы писали:
P>он же не выполняет HeapFree. Речь идет о том, что блок __finally вообще не исполняется.
Привет еще раз. Очень интересно! Извини что я так настойчив но здоровое любопытсво не отпускает
Будь другом попробуй вот это еще (последнее и если не пройдет я склонен считать, что это глюк С)
Здравствуйте, 0x64Rm, Вы писали:
P>>он же не выполняет HeapFree. Речь идет о том, что блок __finally вообще не исполняется.
R>Привет еще раз. Очень интересно! Извини что я так настойчив но здоровое любопытсво не отпускает R>Будь другом попробуй вот это еще (последнее и если не пройдет я склонен считать, что это глюк С)
R>