Крысу поймал, телевизор "починил". Теперь бы на работе с заковыристой ошибкой разделаться бы.
Компонент разрушается, но из списка компонент родителя - не удаляется.
А под отладчиком - вроде всё хорошо.
Только под Delphi Tokyo. Под Berlin и Delphi 7 - всё хорошо.
Уже разные способы ловли испробовал. Вплоть до VirtualProtect...
Меняю способ распределения памяти под компонент - ошибка уходит.
Не помогает...
Завтра тупо начну логировать убитые компоненты с их адресами и адресами родителей. И trhreadId.
Смущает тот факт, что ошибка под Tokyo есть, а под Berlin - её нет. Обязательно напишу, если чего накопаю. Хотя конечно скорее всего это какая-то наша ошибка.
Компонент разрушается, но из списка компонент родителя - не удаляется.
А под отладчиком - вроде всё хорошо.
Только под Delphi Tokyo. Под Berlin и Delphi 7 - всё хорошо.
Уже разные способы ловли испробовал. Вплоть до VirtualProtect...
Меняю способ распределения памяти под компонент - ошибка уходит.
Не помогает...
Завтра тупо начну логировать убитые компоненты с их адресами и адресами родителей. И trhreadId.
Смущает тот факт, что ошибка под Tokyo есть, а под Berlin - её нет. Обязательно напишу, если чего накопаю. Хотя конечно скорее всего это какая-то наша ошибка.
Нашёл ошибку. Она связана с pchar vs pansichar.
ОтветитьУдалить