|
|
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Вообще задача такая, есть интерфейс переведенный на несколько языков и есть БД в которой хранится перевод и к тому же еще свойства некоторых компонентов, которые нужно назначать компонентам при создании формы. Теперь вопрос: Помогите/посоветуйте как написать универсальную процедуру/функцию для записи всех компонент в БД и для присвоения им свойств. Процедура должна быть одна, а вот компоненты везде разные и в этом проблема. Как я написала запись компонент в ДБ: пробегаю по форме и ищу компоненты в БД, если их там нет - пишу, если есть - пропускаю. Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. А это вычитывание из БД и присвоение компонентам свойств: я сначала ищу компонент на форме/фрейме, а потом ищу его в БД и присваиваю свойства. Я могу это сделать если заранее известно, что это за компонент, тогда я могу добраться к его свойствам. Код: 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. Но тут есть проблема - нельзя указывать компонент, который не используется в конкретном фрейме (ошибка, что компонент/Класс не найден) и этот код нужно повторять в каждом юните перечисляя только те классы/компоненты, которые там есть. А я хочу универсальные процедуры/функции для всех фреймов и форм. Посоветуйте - плиииз! Всем заранее спасибо за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 09:57 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Cola, Можно посмотреть на примере библиотеки OXML (ссылка где-то пробегала на форуме - искать лень) Модуль OXmlSerialize ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 10:03 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Привет. Colaуниверсальные процедуры/функции для всех фреймов и форм Для компонентов формы/фрейма: ComponentCount, Components[i] Для свойств компонента: GetPropList С уважением, Polesov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 10:29 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 10:53 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 13:13 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Покажите как вы храните данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 14:38 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
В рамках уменьшения потока бреда Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2019, 14:56 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 09:46 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
DimaBr, Вы сами видели этот пример? Код: pascal 1. Чем мне это поможет? А если нет на форме TButton? Там прямое обращение к свойствам через название классов. Так я и сама могу. Нужно без ссылок на название класса иначе для каждой формы придется писать свою функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 14:17 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
ColaDimaBr, Вы сами видели этот пример? Код: pascal 1. Чем мне это поможет? А если нет на форме TButton? Там прямое обращение к свойствам через название классов. Так я и сама могу. Нужно без ссылок на название класса иначе для каждой формы придется писать свою функцию. Ну нет на форме TButton и что ? У вас тоже прямое обращение к свойствам через классы Код: pascal 1. 2. 3. 4. 5. 6. Хотите без классов - RTTI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 14:38 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
DimaBr, какая разница как я их храню, вопрос не в этом. А в том как обратиться к свойству компонента не указывая явно название его класса и что бы это не вызвало ошибку (что именно это свойство у него есть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 14:38 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
Colaкак обратиться к свойству компонента не указывая явно название его класса и что бы это не вызвало ошибку (что именно это свойство у него есть). тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 14:45 |
|
||
|
Нужна помощь по динамическому интерфейсуTComponents.
|
|||
|---|---|---|---|
|
#18+
DimaBr, Так я просила помочь - объяснить как без именования классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 15:41 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39815664&tid=2039459]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
408ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 680ms |

| 0 / 0 |
