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

Вниз

try..finally   Найти похожие ветки 

 
махс   (2008-02-28 17:49) [0]

Вот такой у меня код, в один стрим (MS) я записываю данные, а второй (MS2) создаю и записываю в него зашифрованные данные из MS. Но после CryptStream, мне MS уже не нужен дальше (он зря занимает память). В каком месте мне правильно вызывать MS.Free, учитывая try..finally?

Вообще в моем случае тут нужно использовать try..finally?

Спасибо.

 MS := TMemoryStream.Create;
 try
   MS.LoadFromFile("examplefile");
   MS.Write(...);
   MS2 := TMemoryStream.Create;
   try
     CryptStream(MS2, MS, MS.Size);
     MS2...
     ...
     здесь например записываю MS2 в файл
     ...
   finally
     MS2.Free;
   end;
 finally
   MS.Free; ???
 end;


 
Johnmen ©   (2008-02-28 17:54) [1]

MS := TMemoryStream.Create;
MS2 := TMemoryStream.Create;
try
...
MS2.Free;
MS.Free;


 
Плохиш ©   (2008-02-28 17:54) [2]


> В каком месте мне правильно вызывать MS.Free, учитывая try.
> .finally?

Там, где и написал.

> Вообще в моем случае тут нужно использовать try..finally?

Да


 
Ega23 ©   (2008-02-28 17:54) [3]

А ты их местами поменяй...  :)


 
Ega23 ©   (2008-02-28 17:57) [4]

MS2 := TMemoryStream.Create;
try
 MS := TMemoryStream.Create;
 try
   MS.LoadFromFile("examplefile");
   MS.Write(...);  
   CryptStream(MS2, MS, MS.Size);
 finally
   MS.Free;
 end;

 MS2...
    ...
    здесь например записываю MS2 в файл
    ...
finally
 MS2.Free;
end;


Ну и про try..except не забывай.
Удачи!


 
DiamondShark ©   (2008-02-29 11:56) [5]


> Johnmen ©   (28.02.08 17:54) [1]

Орхангельский?


 
ANB   (2008-02-29 12:29) [6]

MS := nil;
MS2 := nil;
try
  MS := TMemoryStream.Create;
  MS.LoadFromFile("examplefile");
  MS.Write(...);
  MS2 := TMemoryStream.Create;
  CryptStream(MS2, MS, MS.Size);
  MS2...
    ...
    здесь например записываю MS2 в файл
    ...
finally
  FreeAndNil(MS.Free);
  FreeAndNil(MS2.Free);
end;

Читать http://softwarer.ru/ до полного просветления.


 
Johnmen ©   (2008-02-29 12:52) [7]


> DiamondShark ©   (29.02.08 11:56) [5]
> Орхангельский?

Што за клещ? :)


 
ANB   (2008-02-29 13:47) [8]

Ой. Очепятка

MS := nil;
MS2 := nil;
try
 MS := TMemoryStream.Create;
 MS.LoadFromFile("examplefile");
 MS.Write(...);
 MS2 := TMemoryStream.Create;
 CryptStream(MS2, MS, MS.Size);
 MS2...
   ...
   здесь например записываю MS2 в файл
   ...
finally
 FreeAndNil(MS);
 FreeAndNil(MS2);
end;


 
Anatoly Podgoretsky ©   (2008-02-29 23:41) [9]

> Johnmen  (29.02.2008 12:52:07)  [7]

Это Ахламон Орхангельский.
Ацкий сотона.


 
Johnmen ©   (2008-03-01 02:28) [10]


> Anatoly Podgoretsky ©   (29.02.08 23:41) [9]

Да знаю, знаю :)
Вот только не понятно, зачем меня обзывать им?
:)


 
Германн ©   (2008-03-01 02:43) [11]


> Johnmen ©   (01.03.08 02:28) [10]
>
>
> > Anatoly Podgoretsky ©   (29.02.08 23:41) [9]
>
> Да знаю, знаю :)
> Вот только не понятно, зачем меня обзывать им?
> :)
>

В артиллерии это называется "стрельба по площадям". Если не ошибаюсь. :)



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

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

Наверх





Память: 0.47 MB
Время: 0.049 c
15-1202656809
DVM
2008-02-10 18:20
2008.03.30
Поясните насчет клиентских лицензий Windows Server


2-1204470582
igroman
2008-03-02 18:09
2008.03.30
Печать с Memo


3-1194513654
dolmat
2007-11-08 12:20
2008.03.30
Отключить пользователей от базы


2-1204531400
sancho2
2008-03-03 11:03
2008.03.30
Вопрос про try


8-1178193756
AlexLines
2007-05-03 16:02
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский