|
|
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Привет Всем, я впервые лоб в лоб столкнулся с вопросом буферизации (я дорос до сети), и все что касается этой темы - ссылки, материалы и т.д. меня поправило бы очень сильно... И вопрос на засыпку: Я в приложении всем базам назначил поголовно буферизацию 5, теперь у меня задача в том что -на экране чрезмерно много объектов прямого редактирования Editbox, grid и много одновременно открытых БД причем все свободные таблицы - будьте любезны, подскажите как разруливать в подобных случаях, именно как подбирать момент сбрасывания буферов, как перехватывать информацию об наличиях изменений с целью сохранения изменений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 10:37:12 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Вопрос защиты Гос. безопасности а вы так не активно отвечаете :(. Да, я все сообщения перечитал до дыр на эту тему в форуме и здесь уже тошно об этом говорить, но тем не менее поясню вопрос: Куча открытых БД и море объектов редактирования групповых а также отдельных записей и все происходит на прямую - без кнопок изменить, сохранить и вся сложность в автоматизации без вмешательства оператора проследить В КАКОЙ БАЗЕ - КАКИЕ ЗАПИСИ ПОДЛЕЖАЛИ ИЗМЕНЕНИЮ И С КАКИМ ПЕРИОДОМ РЕКОМЕНДУЕТЕ СБРАСЫВАТЬ БУФЕР Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 11:07:43 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Есть функция GetNextModified() -- Возвращает номер первой(или следующей) измененной строки. GETFLDSTATE() -- статус полей в строке. OldVal() -- старое значение поля. Сбрасывать буфер можно при переходе на другую строку (Grid1.BeforeRowColChange()) А вообще-то, я бы тебе посоветовал поставить кнопку "Сохранить" и "Отмена" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 11:23:50 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Благодарствую Maltsev Max Не сочти за наглость - за советом созревает вопрос. Если мне сделать примочку "изменить" то придется в ручную перечислять дюжину полей давая или прекращая к ним доступ - как скопом в одном из Page назначить всем допустим textedit- ам одно значение для общего свойства, название всех textedit-ов начинается с "о_" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 11:38:56 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
For PeaceБлагодарствую Maltsev Max Не сочти за наглость - за советом созревает вопрос. Если мне сделать примочку "изменить" то придется в ручную перечислять дюжину полей давая или прекращая к ним доступ - как скопом в одном из Page назначить всем допустим textedit- ам одно значение для общего свойства, название всех textedit-ов начинается с "о_" А про циклы Вы что-нибудь слышали? Вот и пишете, что-то типа: Код: plaintext 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 11:51:48 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Как все у Вас сложно... Начать можно попроще - написать для каждой открытой таблицы (опять же через цикл) что-то типа: Код: plaintext Код: plaintext 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. сложносьт начнутся с выработкой алгоритма - что делать, если запись которую изменил данный клиент была уже изменена кем-то (пока он посещал "госбезовскую столовую" если следовать оригиналу автора топика) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 12:08:40 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
Станислав C. У меня объекты не программно вставлены а нарисованы. И всю эта процедуру можно провернуть одной командой и без цикла - Я ЗНАЮ ЧТО МОЖНО А КАК- ПОКА НЕ ДОТУКАЛ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 12:09:19 |
|
||
|
Маленький вопрос при большой буферизации...
|
|||
|---|---|---|---|
|
#18+
For PeaceНе сочти за наглость - за советом созревает вопрос. Если мне сделать примочку "изменить" то придется в ручную перечислять дюжину полей давая или прекращая к ним доступ - как скопом в одном из Page назначить всем допустим textedit- ам одно значение для общего свойства, название всех textedit-ов начинается с "о_" У большинства объектов-контейнеров есть метод SetAll(). Т.е. изменить свойство ReadOnly у всех объектов на конкретной странице PageFrame можно примерно так: Код: plaintext В качестве 3 параметра метода SetAll() можно указать в каких классах (точнее, в каких объектах, созданных на базе указанного класса) следует производить эту замену. Например, для TextBox это будет так Код: plaintext Если необходима более "тонкая" настройка, типа: вот у этого объекта надо изменить, а вот у этого не надо. То тут требуется создание собственной бибиотеки базовых классов. Например, создаешь собственный класс на базе TexBox и в нем создаешь пропертю MODE, а на свойство ReadOnly навешиваешь метод ASSIGN, в котором на основе значения свойства MODE разрешаешь или запрещаешь изменить свойство ReadOnly. Далее кладешь экземпляр этого класса на форму и настриваешь соответствующим образом значение свойства MODE. В результате, SetAll() по ВСЕМ объектам формы изменит свойство ReadOnly только у тех объектов, у которых такое изменение разрешено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 18:45:25 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33245152&tid=1593575]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
213ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 522ms |

| 0 / 0 |
