я естькак отладить процесс регистрации 64-битной dll, выполненный с помощью regsvr32.exe?
времени Run Error 216 по адресу
при регистрации 64 битную DLL построен с Delphi XE2 (я имею Update 3).
из командной строки я делаю (примечание: папка system32 содержит 64-битный ех!)
c:\windows\system32\regsvr32.exe My64bitdll.dll
и после «длл успешно установлено сообщения» у меня есть сообщение об ошибке выполнения.
Я хотел бы отладить процесс регистрации, как-то используя Run/Parameters/host.
Не могли бы вы отправить правильную процедуру? В некоторых других вопросах, таких как this one упоминается ошибка, но это seems fixed now, у меня есть сборка delphi старше этого.
Обновление: Также любые комментарии к ошибке RunTime приветствуются.
216 - это нарушение доступа в разделе инициализации перед инициализацией SysUtils, а 217 - в секции финализации после завершения работы SysUtils. –
@Marjan Вы правы насчет 216. Но не о 217. Взгляните в System.pas. 217 - 'reControlBreak'. И 'MapToRunError' отображает' STATUS_CONTROL_C_EXIT', aka 'C000013A' на' reControlBreak'. –
@DavidHeffernan: спасибо за проверку. Я был уверен, что видел 217, созданный кодеком AV, хотя и в D5. На самом деле, по-прежнему можно получить 217 на AV после завершения SysUtils, так как 217 используется (hardcodedly) в '_UnhandledException' под условным определением' TABLE_BASED_EXCEPTIONS'. То есть в XE2. Старые версии, возможно, использовали 217 в большем количестве случаев. И действительно, в D2006it используется (hardcodedly) в '_ExceptionHandler', предполагая, что 217 может быть сообщено для любого исключения ol. –