![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.05.2007
Сообщений: 60
|
![]() Код:
Что я делаю не так? Во всех примерах в интернете с TFileStream в try выполняется create, а в finally выполняется Free. Собственно Free я тоже пробовал, результат тот же. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ну видимо занят монопольно другим приложением. И free или FreeAndNil не нужно если объект не создан, а он и не создается когда исключение при создании
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
или так
Код:
Код:
Код:
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 12.09.2017 в 17:33. |
![]() |
![]() |
![]() |
#4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
2 Slym
Всё бы хорошо, но конструкция Код:
Ибо если исключение возникает в конструкторе объекта, то объект просто не создаётся. И его не нужно уничтожать. Т.е. конструкция для временного создания любого объекта с последующим его уничтожением должна выглядеть так: Код:
|
![]() |
![]() |
![]() |
#5 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Цитата:
т.к. переменная в стеке - там мусор и может произойти "Garbage.Free" - AV но при начальной инициализации нилом все безопасно "nil.Free" - ОК пруф: Код:
Код:
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 13.09.2017 в 05:00. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Предположение: а у Вас NameL случайно не равно NameR?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.05.2007
Сообщений: 60
|
![]()
Нет, NameL <> NameR.
Спасибо за ответы! InFileL:=nil;InFileR:=nil; наверно самый подходящий вариант. Меня просто насторожило, что практически все примеры в интернете сделаны так, как я сделал вначале. А в итоге получается, что я ловлю исключение, а в итоге исключение же и создаю. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Плохие примеры
![]()
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
90% кода в интернете - говно (Блог GunSmoker-а) |
|
![]() |
![]() |
![]() |
#10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TFileStream | Baburek | C++ Builder | 3 | 04.07.2013 10:13 |
Не закрывается форма | The SCS | Общие вопросы Delphi | 4 | 31.03.2012 14:57 |
Не закрывается приложение. | the_deer_one | C# (си шарп) | 5 | 08.06.2011 14:37 |
Закрывается окно | Никита_П | Общие вопросы C/C++ | 2 | 27.02.2010 17:22 |
TFilestream | UnD)eaD)Snake | Win Api | 1 | 27.09.2007 21:22 |