|
|
|
Как получить имена методов класса в Делфи 7 ?
|
|||
|---|---|---|---|
|
#18+
Всем привет! На руках имеется исходник (D7) для получения имён методов, их параметров, адресов и их смещений при помощи директивы {$METHODINFO ON}. НО, только для текущего класса. Как получить имена методов, используя RTTI из D2010 мне известно, но как это сделать в D7 ? Ведь среда же их как-то узнаёт при вводе в редакторе объекта и разделительной точки. Так же имеется небольшой модуль-набросок для получения имён методов и их параметров, но компилятор ругается на классы-helpers в разделе interface, так как в Делфи 7 нет никаких helper. У кого версия выше 2010 пожалуйста компильните этот модуль,- выдаёт ли он имя метода? И я подозреваю, что разгадка кроется в ObjAuto.pas Есть ли какая альтернатива этим Хелперам? Выкладываю модуль: Код: 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. 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. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. ... А вот и архив с рабочим исходником под Д7 для получения имён методов, их параметров, адресов и смещений, но для текущего класса! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:13 |
|
||
|
Как получить имена методов класса в Делфи 7 ?
|
|||
|---|---|---|---|
|
#18+
Вот результат, но только для текущего класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:31 |
|
||
|
Как получить имена методов класса в Делфи 7 ?
|
|||
|---|---|---|---|
|
#18+
Linux_64 Есть ли какая альтернатива этим Хелперам? Хелперы это просто функции принимающие в первом параметре переменную того типа, для которого написан этот хелпер. Например: Код: 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. Можно переписать так (подразумеваемый Self заменяется первым параметром): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Соответственно, вызовы хелпера заменяются аналогично: Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:42 |
|
||
|
Как получить имена методов класса в Делфи 7 ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Кажись понял. Буду пробовать. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:54 |
|
||
|
Как получить имена методов класса в Делфи 7 ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Хелперы это просто функции принимающие в первом параметре переменную того типа, для которого написан этот хелпер Хотя т.к. в Д7 нет strict protected, то эту проблему можно обойти хак-классом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2020, 12:00 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39965433&tid=2038253]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 422ms |

| 0 / 0 |
