Страница 17 из 24

c10

Добавлено: 21 Ноябрь 2015, 22:39
kreator
Давно работает, ещё с девятки.
gopstop2007 писал(а):Проблема в том, что мне не надо сохранять-восстанавливать параметры позиции окна, но надо сохранять локальные параметры. Может есть кто может донести это велосипедистам ?!
Подозреваю, что ты один такой в мире. Иначе бы сделали :idied: . А окно, естественно, не по центру?

c10

Добавлено: 22 Ноябрь 2015, 1:10
gopstop2007
kreator писал(а): А окно, естественно, не по центру?
окно сразу максимально по размеру фрейма, и зачем мне записывать в данном случае положение? Я про то, что не вижу взаимосвязи между положением окна и записью временных параметров.

c10

Добавлено: 22 Ноябрь 2015, 2:25
ingasoftplus
gopstop2007 писал(а): Заметил появилось сохранение временных локальных в ini программы через Preserve local variables,
а это в каком билде????

c10

Добавлено: 22 Ноябрь 2015, 9:56
gopstop2007
в c10.0.11975 точно есть

c10

Добавлено: 22 Ноябрь 2015, 10:45
Admin
c10.0.11882 еще не было.
SV лениво было пару #IF вставить. Вот и результат.

c10

Добавлено: 22 Ноябрь 2015, 13:02
Дед Пахом
Admin писал(а): SV лениво было пару #IF вставить
Не скажите! Пара #IF это и пара #ENDIF!

c10

Добавлено: 22 Ноябрь 2015, 14:03
kreator
gopstop2007 писал(а):окно сразу максимально по размеру фрейма, и зачем мне записывать в данном случае положение? Я про то, что не вижу взаимосвязи между положением окна и записью временных параметров.
Связи точно нет. Но в Вашем случае галка на сохранение положения не должна мешать, в смысле дополнительно ничего писать руками не надо. В следующем билде поправят и выдадут за супер новый функционал :mrgreen: .

c10

Добавлено: 22 Ноябрь 2015, 14:31
Admin
Я бы посоветовал не ждать чуда от SV а самому исправить шаблон. Исправлений минимум требуется.

c10

Добавлено: 22 Ноябрь 2015, 14:44
gopstop2007
а вдруг... :) понятное дело, исправил

c10

Добавлено: 22 Ноябрь 2015, 15:52
kreator
gopstop2007 писал(а):а вдруг... понятное дело, исправил
Дайте народу, если не жалко. Что, где подправить? Действительно, эту ерунду два года ждать надо.

c10

Добавлено: 22 Ноябрь 2015, 17:15
gopstop2007
я в шаблоны не лез, так как кларион обновляют почти каждый месяц :) Проблема в том,что при снятии крыжика в Save and Restore window location убирается только

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

INIMgr.Update(...)
при этом

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

INIMgr.TryFetch(...)
остается.
Если записей много я просто ставлю крыжик нахожу где записано INIMgr.Update(...) копирую в клипбоард, отключаю крыжик и вставляю скопированное... :cat: Когда велосипедовцы решат проблему, просто удалю вставки :)

c10

Добавлено: 22 Ноябрь 2015, 17:31
kreator
Я-то вообще всегда правлю и шаблоны и классы. И при обновлении переношу все исправления. Невозможно ждать пока они подправят что-то, особенно, когда нет обратной связи. Это нормально. Просто не хотелось из-за этой муры тратить время на поиск в шаблонах и классах. А так предпочтительней исправить шаблон, нежели в каждой процедуре вставки делать.

c10

Добавлено: 22 Ноябрь 2015, 17:51
gopstop2007
тогда в abwindow.tpw, сохрани оригинал перед изменением :)

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

#IF(%INISaveWindow AND ~%DisableINISaveWindow)
   IF SELF.Opened
     INIMgr.Update('%Procedure',%Window)                           #<! Save window data to non-volatile store
   END
   #IF(ITEMS(%PreserveVarsLoc))
   ! Save preserved local variables in non-volatile store
   #ENDIF
   #FOR(%PreserveVarsLoc)
     #FIX(%LocalData,%PreserveVarLoc)
     #IF(%LocalData)
       #IF(INSTRING('QUEUE',%LocalDataStatement))
         INIMgr.UpdateQueue('%Procedure_PreservedVars','%PreserveVarLoc',%PreserveVarLoc)
       #ELSE
         INIMgr.Update('%Procedure_PreservedVars','%PreserveVarLoc',%PreserveVarLoc)
       #ENDIF
     #ENDIF
   #ENDFOR
#ENDIF
замени на

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

#IF(%INISaveWindow AND ~%DisableINISaveWindow)
   IF SELF.Opened
     INIMgr.Update('%Procedure',%Window)                           #<! Save window data to non-volatile store
   END
#ENDIF
#IF(ITEMS(%PreserveVarsLoc))
   ! Save preserved local variables in non-volatile store
#ENDIF
#FOR(%PreserveVarsLoc)
#FIX(%LocalData,%PreserveVarLoc)
   #IF(%LocalData)
    #IF(INSTRING('QUEUE',%LocalDataStatement))
INIMgr.UpdateQueue('%Procedure_PreservedVars','%PreserveVarLoc',%PreserveVarLoc)
     #ELSE
INIMgr.Update('%Procedure_PreservedVars','%PreserveVarLoc',%PreserveVarLoc)
      #ENDIF
     #ENDIF
   #ENDFOR
как то так, просто вынес за #IF - %PreserveVarLoc

c10

Добавлено: 22 Ноябрь 2015, 20:50
kreator
Исправил у себя. Будет на отслеживании. Посмотрим когда исправят.

c10

Добавлено: 27 Ноябрь 2015, 15:43
kreator
А пропустили тему - Десятый Кларион понимает национальные символы в переменных и целые переменные не на латинице? Не всем нужно, но пусть будет. Голову не надо ломать как переменную назвать.