arax
|
Posted: Thu Oct 27, 2011 15:50 Post subject: |
|
|
CaptainFlint wrote: | но тогда Лазарус не сможет обнаруживать ошибки в работе с плавающими числами |
А зачем это вообще нужно?
Я еще понимаю на этапе отладки, но использовать нестандартный подход к исключениям в приложении которое задействует внешние библиотеки, исключения сопроцессора в большинстве случаев не обрабатывающие, нельзя.
А попытка исправить это вставляя отключение исключений перед каждым вызовом усложнит код, к тому же какая гарантия что учтены все места где это нужно.
Кстати неплохо было бы разобраться и с 32 битной версией, в ней все эти проблемы тоже присутствуют.
Предположим у нас есть testdll.dll исходников которой нет, о исключениях она ничего не знает и которую мы хотим использовать в плагине.
В плагине при загрузке этой dll мы отключаем исключения, однако потом delphi их снова включает и мы получаем ошибку.
Вот пример
http://rghost.net/27359661
Открываем lister и при попытке изменить размер окна он вылетает по Invalid Floating Point Operation, исходники модулей на purebasic в комплекте. |
|