Форум: "Начинающим";
Текущий архив: 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