|
|
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Есть класс, DBGrid... в нем добавлен TCollection и TCollectionItem. Что мне нужно... при изменении параметра в TCollectionItem выполнить процедуру TmyDBGrid.TEMP. Однако я не пойму как к ней получить доступ? Мои потуги натыкаются либо на неизвестную процедуру, либо AV ... что видимо обращаюсь, к тому чего нет. Как правильно реализовать? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 09:28 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
У коллекции есть процедура, которая вызывается при действия с итемсами: http://docwiki.embarcadero.com/Libraries/Rio/fr/System.Classes.TCollection.Notify ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 09:33 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 09:50 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
DimaBr Код: pascal 1. 2. 3. 4. 5. 6. Работает... Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:05 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Только это плохая практика. Правильнее сделать событие, на которое грид уже вешал бы свой обработчик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 16:31 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Василий 2Только это плохая практика. Правильнее сделать событие, на которое грид уже вешал бы свой обработчик Это какое событие например? Не пойму как реализовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 08:50 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Только это плохая практика Ничего подобного нет. Сплошь и рядом дёрганье методов родителя из элементов коллекции. Вот THeaderControl Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. А вот TStatusBar Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 08:58 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
DimaBrТолько это плохая практика Ничего подобного нет. Сплошь и рядом дёрганье методов родителя из элементов коллекции. Ну ты все-таки не путай обращение элемента к контейнеру и обращение элемента к привязанному к контейнеру контролу. Хорошая практика - это чтобы невизуальные классы вообще никак не были связаны с контролами. Еще более хорошая практика - максимально самостоятельные классы, если они имеют хоть какой-нибудь смысл сами по себе. Например, коллекция м.б. привязана к гриду, а может и просто висеть в памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 17:32 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Prot_XTВасилий 2Только это плохая практика. Правильнее сделать событие, на которое грид уже вешал бы свой обработчик Это какое событие например? Не пойму как реализовать... Например, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 17:38 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Василий 2Ну ты все-таки не путай обращение элемента к контейнеру и обращение элемента к привязанному к контейнеру контролу. Хорошая практика - это чтобы невизуальные классы вообще никак не были связаны с контролами. Еще более хорошая практика - максимально самостоятельные классы, если они имеют хоть какой-нибудь смысл сами по себе. Например, коллекция м.б. привязана к гриду, а может и просто висеть в памяти. Причём тут извещение ItemChanged и доступ к методам класса из элементов коллекции Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 21:58 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Ох какой ты трудный... распишу по пунктам. * Столбец - визуальный класс. * Вне грида существовать не может. * Является компонентом в контейнере-гриде. * Доступ из него к гриду - сойдет. * Коллекция - невизуальный класс. * Вне грида существовать может. * Доступ из нее (а уж тем паче из элемента коллекции) к гриду - фу бяка. * На уровне рекомендаций! Конкретно ты можешь чесать гланды перанально, но в целом это практика нехорошая, нарушение абстракций и логических слоев и вообще говнокод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 10:51 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Так и его коллекция вне грида существовать не может Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 14:31 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Потому что это кривая реализация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 15:03 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 15:27 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Блин, утомил. Если у ТС коллекция представляет столбцы (уж не знаю, зачем) - пусть пробрасывает доступ к гриду. Дозволяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 16:50 |
|
||
|
Получить доступ к процедуре из другого класса
|
|||
|---|---|---|---|
|
#18+
Открываем DevExpress. Поиск по "class(TCollection)". Достаточно ? Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 22:33 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39817603&tid=2039375]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 435ms |

| 0 / 0 |
