Мигание окна при печати

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Мигание окна при печати

Сообщение Игорь Столяров »

Привет всем !

Прошу сразу не ставить мне диагноз … если пью, то всегда закусываю. ;)

Но не обращал ли кто внимание на следующий эффект.
При закрытии стандартного окна предварительного просмотра отчёта (даже в "родных" Example),
быстро мелькает какое-то окно, точнее его левый верхний угол … такое ощущение, что это
отрабатывается DISPLAY на скрытом WINDOW.

В LibSrc я такого не вижу, может где-то Template … :( Проявляется везде и C63 и C11.
Заранее спасибо ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Мигание окна при печати

Сообщение kreator »

А поконкретней? В каком месте экрана может это окно появляться? И при отправке на печать или закрытие без печати? Мы не замечали и наши пользователи тоже. Но вот если внимательно присмотреться...
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Мигание окна при печати

Сообщение finsoftrz »

Если внимательно присмотреться, можно и не такое увидеть... :-)
C6/C11, ШВС, tps/btrieve.
PavelNK
Старожил
Сообщения: 262
Зарегистрирован: 15 Март 2011, 8:02

Мигание окна при печати

Сообщение PavelNK »

Игорь Столяров писал(а): 06 Декабрь 2018, 14:10Прошу сразу не ставить мне диагноз … если пью, то всегда закусываю.
еще зависит от того, что пить и в каких количествах
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

Мигание окна при печати

Сообщение vic7tar »

Я вот когда пью, всегда не закусываю, и окна не мелькают, стоят на месте, иногда в них пролетают птички.
C10, Win10x64
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Мигание окна при печати

Сообщение finsoftrz »

Вначале надо в зеркале зайчика увидеть, потом уже можно идти мелькающие окна искать... :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Мигание окна при печати

Сообщение Игорь Столяров »

Сразу хочу сказать огромное спасибо всем, кто нашёл возможность поделиться богатым
жизненным опытом и даже пытался смешно шутить. ;)
Это действительно очень здорово, но предлагаю всё-таки рассмотреть вопрос по существу.

Эффект возникает именно при закрытии окна предпросмотра с печатью отчёта.
В принципе, его можно поймать на снимке, сразу хочу добавить, что он существует
тот короткий промежуток времени, когда идёт закрытие окна предпросмотра.

11.jpg

22.jpg

Была мысль, что это как-то связано с конкретным драйвером принтера ... но нет.
Проявляется на любом драйвере принтера.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Мигание окна при печати

Сообщение kreator »

Вот теперь вижу. Что-то открывается и сразу закрывается. Надо копать класс. Теперь не успокоюсь, блин.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Мигание окна при печати

Сообщение Игорь Столяров »

kreator писал(а): 07 Декабрь 2018, 10:04Теперь не успокоюсь, блин.
Тут надо добавить, что эта "проблема" - древняя. Я пытался с ней разобраться ещё много лет назад,
когда в C55 валились большие отчёты при печати … Но там беда была с моделью памяти потоков,
всё благополучно устранилось в C63 и как-то оно никому не мешало. Мыргает - и фиг с ним. :)

Сейчас стало явно проявляться на Win10, если компьютер перегружен выполнением в фоне каких-то задач
(т.е. попросту "тупит", работает медленно). Поэтому решил поинтересоваться одни ли мы во вселенной … ;)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Мигание окна при печати

Сообщение kreator »

Нашёл. В методе ReportManager.TakeCloseEvent есть такое:

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

  IF NOT W &= NULL
    SETTARGET (W)

    TARGET{PROP:Width}  = 0
    TARGET{PROP:Height} = 0
    TARGET{PROP:Hide}   = FALSE

  END
Смысл не ясен. Но, если закомментировать этот кусок, то после выхода из превью фокус оказывается на другом приложении. Есть какие мысли?
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Мигание окна при печати

Сообщение kreator »

Причём при выходе без печати ситуация такая же. Только окно очень быстро закрывается и незаметно.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Мигание окна при печати

Сообщение Игорь Столяров »

Круто ! Спасибо ! :)
В принципе, какая-то бесмыслица …
Если существует окно, то сделать его текущим, сжать размеры в ноль … и показать. :(
Какой сакральный смысл в этом действии ...
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Мигание окна при печати

Сообщение Yufil »

kreator писал(а): 07 Декабрь 2018, 10:48 Нашёл. В методе ReportManager.TakeCloseEvent есть такое:

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

  IF NOT W &= NULL
    SETTARGET (W)

    TARGET{PROP:Width}  = 0
    TARGET{PROP:Height} = 0
    TARGET{PROP:Hide}   = FALSE

  END
Смысл не ясен. Но, если закомментировать этот кусок, то после выхода из превью фокус оказывается на другом приложении. Есть какие мысли?
Там есть удивительный оператор W &= SYSTEM{PROP:TARGET} + 0 . Что это означает ?
А цель, скорее всего, аккуратно закрыть окошко с термометром, если таковое есть. Может быть, стоит окно отправить совсем за край, чтобы не мигало.
0{Prop:Buffer} = 1
SetPosition( 0, -100, -100, 0, 0)
Unhide(0)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Мигание окна при печати

Сообщение Yufil »

kreator писал(а): 07 Декабрь 2018, 10:48 Нашёл. В методе ReportManager.TakeCloseEvent есть такое:

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

  IF NOT W &= NULL
    SETTARGET (W)

    TARGET{PROP:Width}  = 0
    TARGET{PROP:Height} = 0
    TARGET{PROP:Hide}   = FALSE

  END
Смысл не ясен. Но, если закомментировать этот кусок, то после выхода из превью фокус оказывается на другом приложении. Есть какие мысли?
Там есть удивительный оператор W &= SYSTEM{PROP:TARGET} + 0 . Что это означает ?
А цель, скорее всего, аккуратно закрыть окошко с термометром, если таковое есть. Может быть, стоит окно отправить совсем за край, чтобы не мигало.
0{Prop:Buffer} = 1
SetPosition( 0, -100, -100, 0, 0)
Unhide(0)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Мигание окна при печати

Сообщение kreator »

Оказывается, это окно, действительно, с термометром. На него делается таргет. Нужно его подправить. В этом же методе ReportManager.TakeCloseEvent нужно написать следующее:

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

  W &= NULL

  IF NOT SELF.KeepVisible
    IF NOT SELF.Preview &= NULL AND NOT SELF.Report &= NULL AND NOT SELF.SkipPreview
      W &= SYSTEM{PROP:TARGET} + 0
      W{prop:Icon} = ''								 ! *** KreatoR ***
      W{prop:NoFrame} = True						 ! *** KreatoR ***
      W{prop:Text} = ''								 ! *** KreatoR ***

      IF NOT W &= NULL
        TARGET{PROP:Hide} = TRUE
      END
    END
  END
Вроде, проблему решает.
We are hard at work… for you. :)
Ответить