![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]А ты их местами поменяй... :)