Фигня какая-то.
Имеет два файла и следующий код:
ELE_ACCNT FILE,DRIVER('dBase4'),OEM,NAME(GFN:ELE_ACCNT),PRE(ELE_ACCNT),BINDABLE,THREAD
KACCNT KEY(ELE_ACCNT:LS_ID),NOCASE
Record RECORD,PRE()
LS_ID STRING(9)
NAME_1 STRING(15)
NAME_2 STRING(10)
NAME_3 STRING(12)
TOWN_ID STRING(2)
STREET_ID STRING(3)
NUM_D REAL,NAME('NUM_D=N(4.0)')
NUM_CORP STRING(8)
NUMBER_K STRING(4)
END
END
ELE_STREET FILE,DRIVER('dBase4'),OEM,NAME(GFN:ELE_STREET),PRE(ELE_STREET),BINDABLE,THREAD
KSTREET KEY(ELE_STREET:STREET_ID),NOCASE
Record RECORD,PRE()
STREET_ID STRING(3)
NAME STRING(20)
END
END
relate:ele_street.open
relate:ele_street.close
relate:ele_accnt.open
relate:ele_street.open
message(records(ele_accnt)) ! показывает к-во записей ele_street и вообще ele_accnt становиться как-будто ссылкой на ele_street
relate:ele_street.close
relate:ele_street.close
Если же после первого relate:ele_street.close поставить close(ele_street), то все ok. Где глюк?
глюки с открытием файлов
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Олег
- Ветеран движения
- Сообщения: 122
- Зарегистрирован: 16 Июль 2005, 2:35
- Откуда: Москва
- Контактная информация:
Это - известная ошибка DBF-драйверов. И лечится как раз явным вызовом оператора close(file). По крайней мере в C6x. В младших версиях приходится малость поизвращаться - использовать явные вызовы функций RTL Клариона.
Более подробно - см. письма по соответствующей теме в рассылке ClaList. Архив рассылки, кстати, можно взять на этом-же сайте.
Удачи!
Более подробно - см. письма по соответствующей теме в рассылке ClaList. Архив рассылки, кстати, можно взять на этом-же сайте.
Удачи!