Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

try..finally [D7]


махс ©   (2008-02-28 17:49:00) 

Вот такой у меня код, в один стрим (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;


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


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

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


Johnmen   (2008-03-01 02:28:00) [2]


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

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


Anatoly Podgoretsky   (2008-02-29 23:41:00) [3]

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

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


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

Ой. Очепятка

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;


Johnmen   (2008-02-29 12:52:00) [5]


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

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


ANB   (2008-02-29 12:29:00) [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/до полного просветления.


DiamondShark   (2008-02-29 11:56:00) [7]


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

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


Ega23   (2008-02-28 17:57:00) [8]

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 не забывай.
Удачи!


Johnmen   (2008-02-28 17:54:00) [9]

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


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


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

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

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

Да


Ega23   (2008-02-28 17:54:00) [11]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо