|
Свойство объекта и макроподстановка
|
|||
---|---|---|---|
#18+
День добрый! Очень "начинающий" вопрос. Вот есть объект "А1" некоторого класса "А", у него есть свойство "b". Очень бы хотелось чтоб можно было бы писать в методах этого класса что-т типа "INDEX ON A1.b ...." или "SET FILTER &This.b ...." и т.д. и т.п. Но что-т не "&" не "()" не даже "&()" не получается.... Приходится всегда создавать переменную "LOCAL b ; b=This.b ; SET FILTER &b ..." Вообщем как использовать члены-данные в выражениях для команд SET FILTER, INDEX ON, SET RELATION и т.д. Пасиба ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2010, 11:47 |
|
Свойство объекта и макроподстановка
|
|||
---|---|---|---|
#18+
_usa__83_, у Вас сам подход неправильный, наступаете на одни из самых распространенных граблей. 1. Настройка set filter и выражение в индексе - глобальные. 2. Ссылки this* - локальные для данного конкретного объекта, у которого, к тому же, еще и ограниченная область видимости. 3. Ссылок на отдельные свойства объектов не бывает. Резюме: не пытайтесь использовать в этих командах ссылки и переменные, используйте значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2010, 11:58 |
|
Свойство объекта и макроподстановка
|
|||
---|---|---|---|
#18+
> Автор: проходящий. > _usa__83_, > у Вас сам подход неправильный, наступаете на одни из самых распространенных граблей. > Резюме: не пытайтесь использовать в этих командах ссылки и переменные, используйте значения. +1 Потом нужно парсить выражения наложенного фильтра и изменять то что изменилось. примерно так: Код: 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. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110.
Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2010, 12:16 |
|
Свойство объекта и макроподстановка
|
|||
---|---|---|---|
#18+
Макроподстановки лучше пользовать по минимуму, но для описанных случаев без них никак. Причем пользовать только так: _usa__83_Приходится всегда создавать переменную "LOCAL b ; b=This.b ; SET FILTER &b ..." Как я понимаю макроподстановка работает так: если встречается символ & то фокс читает все буквы-цифры после него и проверяет что есть такая строковая переменная и заменяет этот кусок на содержимое переменной, т.е. точка это символ которого не может быть в имени переменной, поэтому он на ней останавливается. Если переменной с таким именем не существует или она не строковая, то макроподстановки не происходит. Запусти этот код, думаю понятно будет как оно работает: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2010, 17:25 |
|
|
start [/forum/moderation_log.php?user_name=%D0%BC%D1%83%D0%B4%D0%BE%D0%B1%D0%BE%D1%82]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 866ms |
total: | 1031ms |
0 / 0 |