|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2018, 23:44 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Append – почему не работает “if”, а работает “try”
Доброе время суток,
Есть Код:
А при Код:
Нужно пользоваться конструкцией Код:
заранее спасибо Последний раз редактировалось KBO; 11.01.2018 в 01:02. |
11.01.2018, 07:48 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Судя по всему, в первом случае у Вас файл действительно существует (и кстати, Ассайн нужно делать после проверки на существование, а не до, а то падать будет раньше).
В остальных случаях, судя по поведению, программа не может найти файл. Соответственно, с ифом она игнорирует аппенд, так как условие не проходит, а с траем обрабатывает исключение. Поскольку полного кода для этих случаев Вы не привели - дальше остаётся только гадать, почему файл не находится
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
11.01.2018, 10:24 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
можно легко проверить: Код:
Пока, могу только предположить, что файл просто не закрывается и хендл остаётся захваченным. Поэтому и не срабатывает Append() |
|
11.01.2018, 15:45 | #4 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 977
|
хмм если не путаю то AssignFile это не открытие файла, а связывание файловой переменной с определённым путём файла.
в итоге тебе этот код надо? тут if пропускает или нет? Код:
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
Последний раз редактировалось IliaIT; 11.01.2018 в 15:50. |
11.01.2018, 18:15 | #5 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Вот пожалуйста, полный код:
Код:
А при втором варианте ("F8") строку "Append(LConnectFile)" пропускает |
11.01.2018, 18:49 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Действительно, визуально при отладке он пропускает строку, но если сделать F7, то станет понятно, что он заходит в Append. Не знаю, с чем связан такой визуальный баг. Если добавить begin..end, то не будет "пропускать".
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 11.01.2018 в 18:55. |
12.01.2018, 02:30 | #7 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
Цитата:
А во втором варианте строка ничего особенного не делает с точки зрения отладчика. Она лишь продолжение строки Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
почему прсер работает на одних сайтах и не работает на других | PHP_DELETANT | PHP | 4 | 12.02.2016 13:45 |
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? | ion leahu | Помощь студентам | 6 | 23.11.2014 19:36 |
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? | >>STINGER<< | Помощь студентам | 4 | 08.03.2011 09:56 |
почему интеренет на Xp не работает, а на семерке работает | Lenura | Windows | 18 | 04.10.2010 12:04 |
Почему не работает тег align=right?valign работает а align нет! | aviv | HTML и CSS | 5 | 21.01.2009 17:46 |