Просмотр или изменение в форме

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Сообщение Дед Пахом »

Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
С уважением, ДП
Аватара пользователя
Олег
Ветеран движения
Сообщения: 122
Зарегистрирован: 16 Июль 2005, 2:35
Откуда: Москва
Контактная информация:

Сообщение Олег »

Это-то все понятно. Просто отвечал на конкретный вопрос коллеги, что у него почему-то "не работает" прямое сравнение групп.
Тем более, что он даже и не упоминал о memo/blob.
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Сообщение NewUser »

Олег писал(а):Тем более, что он даже и не упоминал о memo/blob.
Это были бы те самые грабли, на которые я уже собрался наступать, если бы не вы, уважаемые коллеги!
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Сообщение NewUser »

Дед Пахом писал(а): А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
Я, увы, не силен в АВС, посему попрошу уважаемых знающих, поделиться рабочим кодом применения этого самого метода.
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Сообщение Igor »

Попробуй в методе ThisWindow.TakeCompleted PROCEDURE ,! [Priority 5000]
вствить IF SELF.Primary.Me.EqualBuffer(SELF.Saved) AND SELF.Request = ChangeRecord !Зпись не изменилась
END
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

А почему не попробывать по старой досовской методе примерно так:
объяви такую штуку:
save_record group;byte,dim(size(xxx:record))
Далее,сразу после считаывания таблицы ХХХ
save_record=xxx:record
На кнопку ОК вешаешь проверку
if save_record <> xxx:record
делаешь ,что тебе нужно
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сообщение Yufil »

Дед Пахом писал(а):Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Сообщение Igor »

Yufil писал(а):А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.
Присоединяюсь . Например для TX Text Control не отслеживает,но у него (TX Text Control) есть свой способ отслеживания изменений и на его основе делать что надо.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Сообщение Дед Пахом »

Могу в своё оправдание только процитировать abfile.clw:

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

IF SELF.BlobChanged THEN RETURN 0.      ! A blob has changed so the buffers are unequal
С уважением, ДП
Ответить