Страница 2 из 2

Добавлено: 24 Январь 2008, 11:04
Дед Пахом
Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.

Добавлено: 24 Январь 2008, 14:51
Олег
Это-то все понятно. Просто отвечал на конкретный вопрос коллеги, что у него почему-то "не работает" прямое сравнение групп.
Тем более, что он даже и не упоминал о memo/blob.

Добавлено: 24 Январь 2008, 22:17
NewUser
Олег писал(а):Тем более, что он даже и не упоминал о memo/blob.
Это были бы те самые грабли, на которые я уже собрался наступать, если бы не вы, уважаемые коллеги!

Добавлено: 24 Январь 2008, 22:18
NewUser
Дед Пахом писал(а): А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
Я, увы, не силен в АВС, посему попрошу уважаемых знающих, поделиться рабочим кодом применения этого самого метода.

Добавлено: 25 Январь 2008, 19:58
Igor
Попробуй в методе ThisWindow.TakeCompleted PROCEDURE ,! [Priority 5000]
вствить IF SELF.Primary.Me.EqualBuffer(SELF.Saved) AND SELF.Request = ChangeRecord !Зпись не изменилась
END

Добавлено: 28 Январь 2008, 14:35
lsgsoftware
А почему не попробывать по старой досовской методе примерно так:
объяви такую штуку:
save_record group;byte,dim(size(xxx:record))
Далее,сразу после считаывания таблицы ХХХ
save_record=xxx:record
На кнопку ОК вешаешь проверку
if save_record <> xxx:record
делаешь ,что тебе нужно

Добавлено: 29 Январь 2008, 17:40
Yufil
Дед Пахом писал(а):Кстати, проверки буферов на равенство недостаточно - бывают ещё мемы и блобы всякие, которые вне буфера записи. А ABC-метод FileManager.EqualBuffer эти вещи отслеживает.
А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.

Добавлено: 29 Январь 2008, 19:48
Igor
Yufil писал(а):А точно отслеживает? Сколько раз тыкался: если в записи обновлён только блоб, форма не сохраняется.
Присоединяюсь . Например для TX Text Control не отслеживает,но у него (TX Text Control) есть свой способ отслеживания изменений и на его основе делать что надо.

Добавлено: 29 Январь 2008, 21:26
Дед Пахом
Могу в своё оправдание только процитировать abfile.clw:

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

IF SELF.BlobChanged THEN RETURN 0.      ! A blob has changed so the buffers are unequal