| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Переход на 64 бита и SweetDrawing |
| Автор: Teemu 12.9.2022, 16:07 | ||||||
| Приветствую. В процессе портирования одного приложения под 64 бита возникла пара багов которые из-за недостатка скиллов не могу раскопать) Установлена Delphi 11.1. Приложение использует старую, древнюю библиотеку https://github.com/ocdogan/SweetDrawingEngine На 32 битной версии приложение работает отлично, но в 64 битной ловится интересный баг в этом месте:
Код этой функции из системного модуля:
В переменную X функции Floor приходит значение 36, breakpoint стоит на Begin, жму F8 и получаю описанную ошибку: "Project raised exception class $C0000005 with message 'c0000005 ACCESS_VIOLATION". Собственно, хотелось бы понять что именно не так. Объектов тут нет, модули стандартные. Если вытащить функцию Floor из модуля System.Math и закинуть в модуль откуда эту функция вызывается, допустим, вот так, то проблема отпадает.
Дальше при определенных манипуляциях приложение всё равно крашится при обращении к c:/windows/system32/gdi32full.dll |