|
|
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Есть проект который писался под Delphi 10.2.3 и всё работает отлично. Но когда в путях оказываются пробелы... То код начинает дохнуть. К примеру первый вызов Код: pascal 1. Возвращает 188 А второй вызов, уже возвращает raised exception class $C0000005 with message 'access violation at 0x0040dd74: read of address 0xfffffff7'. Ошибка происходит при вызове GetMethods Код: pascal 1. 2. 3. 4. Если я удаляю из путей пробелы То всё работает хорошо! Реальный путь который работает C:\Users\*\Desktop\regrth Реальный путь который не работает C:\Users\*\Desktop\regrth rthjt trhrtjty С чем связанно не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 00:28 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
QC (или как он там щас называется) знает про эту проблему? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 00:43 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Проблема была найдена! Виновником стала регистрация классов TBCDBEditor && TBCEditor посредством RegisterClasses Каким образом они ломают RTTI мне не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 02:40 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Виновник найден, но виновность его не доказана!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 07:58 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Я предположу, что дело в контексте Какие-то были проблемы с его повторным созданием без удаления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 09:32 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
DimaBr, Его виновность доказана ровно на том моменте, когда его нет в списке регистрации - всё работает как надо [quot SOFT FOR YOU]Я предположу, что дело в контексте Проверил такую возможность, даже класс скопировал с новым именем, и попробовал его зарегистрировать. Так же падает Вот что в итоге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 10:27 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Проблема начинает быть ещё на самом старте программы. Когда пытаешься объявить в верху Код: pascal 1. 2. 3. 4. И его зарегистрировать. Регистрация самого TBCCustomEditor проходит успешно, и работает как надо. А вот создание унаследованного - ломает RTTI Если вместо TBCCustomEditor написать любой другой класс, работает как надо Странно что компилятор из другого юнита сразу не выдаёт ошибки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 11:02 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Регистрация самого TBCCustomEditor проходит успешно, и работает как надо. А вот создание унаследованного - ломает RTTI Неужеле ??? А TBCCustomEditor не унаследованный ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 11:33 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Такое ощущение что вы ищите чёрную кошку в чёрной комнате, а она в соседней. Где то портите память, а косяки вылезают здесь. Да и код ваш работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 11:42 |
|
||
|
Проблемы с RTTI
|
|||
|---|---|---|---|
|
#18+
Пришлось глубже нырнуть. Нашёл что ошибка срабатывает при поиске класса, (При повторном поиске другого, не важно какого) Код: pascal 1. Но это кидает на AV и не больше. Исправил на Код: pascal 1. Теперь ошибка просиходит в System.Rtti функция TRttiPool.GetPackageList Код: pascal 1. 2. 3. Комментарии выше порадовал. Значит разработчики знают о этом баге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39646444&tid=2040879]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 491ms |

| 0 / 0 |
