|
|
|
Inline function XXX has not been expanded because unit YYY is not specified in USES list
|
|||
|---|---|---|---|
|
#18+
Но не все так просто как написано в сабже. Имеется Delphi XE и Delphi XE7. Имеется один и тот же тестовый код: Код: 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. Мы знаем, что в обеих версиях дельфей TObjectList.GetItem объявлен как inline: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Я наблюдаю разное поведение у XE и XE7. 1) В Delphi XE данный код компилится без хинтов и ворнингов, и в отладчике видно, что вызов Код: plaintext развернут как инлайн (сразу вставлен код Result := inherited Items[Index] ): 2) В Delphi XE7 при компиляции получаем хинт [dcc32 Hint] Project1.dpr(19): H2443 Inline function 'TObjectList.GetItem' has not been expanded because unit 'System.Classes' is not specified in USES list и в отладчике видим что инлайн не развернут: Разумеется, если в uses добавить System.Classes, то хинт пропадает, и вызов инлайнится как положено. Но зачем, черт побери, в XE7 для этого требуется объявлять дополнительный юнит? Почему это работало в старой версии без дополнительного объявления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2020, 12:30 |
|
||
|
Inline function XXX has not been expanded because unit YYY is not specified in USES list
|
|||
|---|---|---|---|
|
#18+
Если что, я пересобираю большой проект с XE на ХЕ7 и сталкиваюсь с такими граблями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2020, 12:31 |
|
||
|
Inline function XXX has not been expanded because unit YYY is not specified in USES list
|
|||
|---|---|---|---|
|
#18+
Квейд, Вообще, насколько я помню, это (подключение модулей из которых вызывается код в инлайновой процедуре) одно из правил использования inline. Исходя из этого, вопрос, скорее, почему в XE это было возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2020, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2038584]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 353ms |

| 0 / 0 |
