Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

Вопрос про try   Найти похожие ветки 

 
sancho2   (2008-03-03 11:03) [0]

 Mem1 := TMemoryStream.Create;
 try
   Mem1...
   Mem2 := TMemoryStream.Create;
   try
     SomeProc(Mem1, Mem2); // после этого Mem1 - больше мне не нужен
   finally
     Mem1.Free;
   end;
   Mem2...
 finally
   Mem2.Free;
 end;


Как в таком случае делать try и finally: я хочу сразу после SomeProc освободить Mem1.

?


 
Сергей М. ©   (2008-03-03 11:05) [1]


> я хочу сразу после SomeProc освободить Mem1


Ну так ты именно это и делаешь...


 
Kolan ©   (2008-03-03 11:07) [2]

> Как в таком случае делать try и finally: я хочу сразу после
> SomeProc освободить Mem1.

Как-то это мозг разрушает. Обычно:

Создал «А»
try
finally
 Удалил «А»
end;


А у тя каша.

Mem2 := TMemoryStream.Create;
try
 Mem1 := TMemoryStream.Create;
 try
   Mem1&#133
   SomeProc(Mem1, Mem2); // после этого Mem1 — больше мне не нужен
 finally
   Mem1.Free;
 end;
 Mem2&#133
finally
 Mem2.Free;
end;


 
sancho2   (2008-03-03 11:08) [3]

А такое, как у меня, - это нормально?


 
Kolan ©   (2008-03-03 11:10) [4]

> А такое, как у меня, — это нормально?

Работать будет, но, имхо, это ненормально&#133


 
Palladin ©   (2008-03-03 12:07) [5]


> sancho2   (03.03.08 11:08) [3]

с чего это вдруг нормально то, у тебя все кривося накося? утечка памяти имеет место быть при возникновении исключения между первым и вторым try


 
Anatoly Podgoretsky ©   (2008-03-03 19:00) [6]

> sancho2  (03.03.2008 11:08:03)  [3]

Да вполне нормально, типичный дурдом.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
2-1204353873
Dell
2008-03-01 09:44
2008.03.30
Звучка


2-1204138273
Рустам
2008-02-27 21:51
2008.03.30
драйвера ADO


2-1204472475
Alex
2008-03-02 18:41
2008.03.30
Совсем лёгкий вопрос


2-1204549737
sqlmaniac
2008-03-03 16:08
2008.03.30
не понимаю что с try-except


2-1204533659
Chorniy
2008-03-03 11:40
2008.03.30
Запустить процедуру в чужом процессе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский