|
|
|
Delphi XE4, лёгкий баг в аттрибутах
|
|||
|---|---|---|---|
|
#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. Смысл бага в том, что в атрибут компилируется разный тип данных в зависимости от количества елементов в перечисляемом типе. Если в типе TSomeType оставить несколько элементов - приведённая программа работает, иначе падает, потому что вместо сета в аттрибут передаётся массив из 2-х элементов и при создании атрибута инвокер конструктора падает с ошибкой Invalid class typecast. Не знаю, есть ли здесь что обсуждать и решён ли баг в более новых версиях, но оставлю это здесь для информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2018, 19:33 |
|
||
|
Delphi XE4, лёгкий баг в аттрибутах
|
|||
|---|---|---|---|
|
#18+
Dimonka, Если я не ошибаюсь, баг связан с некорректным определением размера множества. Пофикшен, вроде, в берлине только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2018, 20:02 |
|
||
|
Delphi XE4, лёгкий баг в аттрибутах
|
|||
|---|---|---|---|
|
#18+
Попробовал передать список элементов как array of const, ошибка: E2150 Bad argument type in variable type array constructor Похоже Дельфи не очень любит сеты с количеством элементов > 32 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2018, 20:09 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=121&tid=2041381]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 286ms |

| 0 / 0 |
