|
|
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Use winrar 5, Luke ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 16:21 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
завтра гляну - как время найду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 17:32 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
X11, У меня с отмеченными изменениями работает Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 09:50 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Так написали же Вам, что использовать Container - не комильфо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 10:19 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
X11, Ну, кому-то, может, и не комильфо, а меня устраивает. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 10:30 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
LayoutSaver, Там, собственно, проблема в том, что без указания StoreName компонент сохраняется с привязкой к имени овнера. Когда начинаешь восстанавливать из такого сохранения компонент, привязаный к овнеру с другим именем, возникает твоя ошибка. А StoreName можно указать только при сохранении через методы контейнера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 10:37 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Ладно, ждём, что сообщит на white_nigger. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 10:49 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Скомпилил пример в сиэттле, нормально нажимается на кнопку хоть пять раз. Запускал несколь раз. Что я должен был увидеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 11:56 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
white_nigger, перед тем как второй раз на кнопку жамкать, ты первое окошко закрыть успел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 12:03 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
white_niggerСкомпилил пример в сиэттле, нормально нажимается на кнопку хоть пять раз. Запускал несколь раз. Что я должен был увидеть? в архиве есть скомпилированный проект, который выдает: Class TdxLayoutControlContainer not found. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 12:06 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Забыл дописать: DXE3 + Dev 2016.1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 12:17 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
оказывается закрывать не надо было... посмотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 13:18 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Если я правильно понимаю, ты хочешь сделать один паттерн в реестре, на основе которого будут выглядеть все клоны, по принципу "кто последний записал /color]- тот отец". В этом случае тебе надо принудительно указывать сохраненный объект, и действительно юзать контейнер. Что-то вроде: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:17 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Спасибо, сейчас попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:25 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
тогда правильней так сделать? PatternLayout := LayoutControl.Owner.ClassName + '.' + LayoutControl.Name; Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Форм (классов) разных несколько: форма редактирования, форма параметров поиска, главная форма, ещё какая-то форма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:35 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Немного удивлён, что после StoreToRegistry() надо вызывать Store. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:37 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Ошибок не получил. Работает. Спасибо большое всем, кто помогал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:41 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
X11, вот тебе и вся кошерность :))white_nigger действительно юзать контейнер. [/src]еще маленький совет. не сохраняй лайоут на автомате. или, по крайней мере, сделай галочку "сохранять/не сохранять лайоут". PS после StoreToRegistry() НЕ надо вызывать Store. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:43 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
X11Немного удивлён, что после StoreToRegistry() надо вызывать Store.Не надо. Это я из твоего кода выкинуть забыл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:51 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
LayoutSaverне сохраняй лайоут на автомате. Тут прикол в чем: пользователь может свернуть/развернуть группу и это должно сохраниться. Если бы настройки делились на 2 части: 1. Сохранение того, что пользователь менял с помощью дизайнера. 2. Сохранение состояния групп и того, что можно менять без дизайнера. То тогда можно было разделить сохранение/восстановление на 2 части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 14:55 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
X11, Я о пользователе забочусь. Не каждый хочет ВСЕГДА сохранять лайоут при закрытии формы. А некторые любят каждый раз с чистого листа начинать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 18:08 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
Тогда можно сделать цикл по группам и при закрытии формы сохранять состояние: развёрнута/свёрнута. А сам лейаута сохранять только по кнопке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2016, 18:26 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
У меня опять проблема с сохранением в стрим. Решил довести до ума: обернуть всё в класс и, т.к. компонент для сохранения несколько (cxGrid, cxVirticalGrid, dxLayoutControl, dxBarManager), но у всех есть SaveToStream, то и процедуры сохранения можно все отдельные сделать в виде одной, но при этом код сохранения в стрим вынести в отдельную процедуру. Всё сделал, но появилась проблема: dxLayoutControl хоть и сохраняется в базу и загружается из базы без ошибок, но он пустой после восстановления и базы, т.е. все элементы попадают в "Доступные элементы", поэтому невидимы. На сколько я понимаю, то какие-то проблемы с типами классов. Всё сделал на уровне TComponent, чтобы были свойства Parent, Owner и Name.Т.е. в главную процедуру передаю TComponent в виде параметра: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. И вот тут-то я обратил внимание, что структура(содержимое) блоб-поля в базе отлична от старого. Вот, чтобы визуально было понятно: Я решил проэкспериментировать и сделал для dxLayoutControl отдельную процедуру, где передавал именно TdxLayoutControl в качестве параметра, а не TComponent и проблема ушла. Т.е. проблема таилась в типе класса передаваемого параметра? С остальными компонентами не тестировал. Собственно вопрос. Чтобы не городить огород с разными процедурами, где будут разные типы входящего параметра, как бы сделать так, чтобы все эти типы (компоненты): cxGrid, cxVirticalGrid, dxLayoutControl, dxBarManager нормально сохранялись в стрим и восстанавливались? Ведь на 99% процедуры для сохранения, например, сетки cxGrid и BarManager похожи. Может быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 11:47 |
|
||
|
dxLayoutControl RestoreFromRegistry
|
|||
|---|---|---|---|
|
#18+
В одном случае был layout, а в другом layout.container -- вот и причина. Лично я использую overload и разные параметры на входе специально под разные компоненты... а внутри тот самый is... Причем надо понимать, что настройки сохраняются не все и часть данных отсутствует. Или сохранять надо только определенные вещи. В этом случае как раз и можно добавить доп поля для сохранения-загрузки типа настройки ширина панели, режима отображения или цвета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 12:04 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39345475&tid=2040428]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 533ms |

| 0 / 0 |
