Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
Это-то все понятно. Просто отвечал на конкретный вопрос коллеги, что у него почему-то "не работает" прямое сравнение групп.
Тем более, что он даже и не упоминал о memo/blob.
Попробуй в методе ThisWindow.TakeCompleted PROCEDURE ,! [Priority 5000]
вствить IF SELF.Primary.Me.EqualBuffer(SELF.Saved) AND SELF.Request = ChangeRecord !Зпись не изменилась
END
А почему не попробывать по старой досовской методе примерно так:
объяви такую штуку:
save_record group;byte,dim(size(xxx:record))
Далее,сразу после считаывания таблицы ХХХ
save_record=xxx:record
На кнопку ОК вешаешь проверку
if save_record <> xxx:record
делаешь ,что тебе нужно
Дед Пахом писал(а):Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.
Yufil писал(а):А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.
Присоединяюсь . Например для TX Text Control не отслеживает,но у него (TX Text Control) есть свой способ отслеживания изменений и на его основе делать что надо.