Непонятка в работе процедуры при SelectRecord.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Непонятка в работе процедуры при SelectRecord.

Сообщение kreator »

C8, ABC. Вводим значение переменной через Lookup, например:

Код: Выделить всё

      UPDATE(SELF.FEQ)
      G:Name = SELF.UseVar
      IF Access:Goods.TryFetch(G:NameKey) OR pForce
         GlobalRequest = SelectRecord
         BrowseGoods
         IF GlobalResponse = RequestCompleted
             P:GoodsID = G:ID
             SELF.UseVar = G:Name
             ReturnValue = EditAction:Ignore
         ELSE
             ReturnValue = EditAction:None
         END
      ELSE
         P:GoodsID = G:ID
         ReturnValue = EditAction:Ignore
      END
      RETURN ReturnValue
Но в процедуре BrowseGoods файл Goods благополучно закрывается и поэтому P:GoodsID = G:ID не имеет смысла.
Подозреваю, что чего-то не понимаю. Есть же Шаблон SelectButton. Но он не вносит изменения в код при закрытии файлов. Странно.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Непонятка в работе процедуры при SelectRecord.

Сообщение Admin »

В текущей процедуре файл Goods стоит в схеме Files ? Если стоит то он не должен в любом случае закрываться.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Непонятка в работе процедуры при SelectRecord.

Сообщение Shur »

Вдобавок к сказанному. А что смущает?
То, что вы пользуетесь шаблонами ABC, не значит, что всё вдруг стало объектно-ориентированным.
Буфер записи Goods размещается статично (глобально или для тридов) и после вызова BrowseGoods останется полнёхонький, даже если вы закроете файл насильно.
Поэтому такое присваивание допустимо.
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Re: Непонятка в работе процедуры при SelectRecord.

Сообщение kreator »

Выявил проблему. ABC не причем. У меня не так работает шаблон "Дерево по одному файлу". Надо с ним разбираться.
We are hard at work… for you. :)
Ответить