Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
8-1178178565
Fidel
2007-05-03 11:49
2008.03.30
Софт для Web камеры


2-1204393736
Alex
2008-03-01 20:48
2008.03.30
Как вывести в Edit переменную Integer?


2-1204182102
AlexeyMir
2008-02-28 10:01
2008.03.30
ImageList1 в TreeView


2-1204631275
zorik
2008-03-04 14:47
2008.03.30
Переход на Delphi 2007


4-1185800432
Раф
2007-07-30 17:00
2008.03.30
Как в приложении запустить горячие клавиши