У меня есть часть устаревшего кода, написанного в Delphi, задолго до того, как я объединил компанию, и поведение моей IDE заставляет меня сомневаться в моих собственных навыках.исключение, определяемое приложением (код 0x0eedfade) после фактического исключения
После загрузки DLL и закрепляющих функций OpenDB, GetError и GetErrorStr из DLL, этот код вызывается:
If @OpenDB <> nil then
begin
DB_num := OpenDB((PAnsiChar(file)));
if DB_num = -1 then
begin
err := GetError;
ErrorString := GetErrorString(err);
raise Exception.Create(ErrorString);
Exit;
end
end else
Exit;
OpenDB возвращает -1 и GetErrorString возвращает сообщение об ошибке и исключение. Нет большого количества, существуют неисправные базы данных, и ошибки всегда могут произойти. Что меня заставляет, так это то, что после исключения возникает сообщение «... исключение приложения (код 0x0eedfade) в ...» всплывает. После этого я получаю нарушения доступа.
Трудно прокомментировать без контекста. –
Скорее всего, повреждение памяти. –
Подождите, так что, после того, как исключение будет поднято, вы увидите всплывающее сообщение о том, что возникло исключение? Что еще вы ожидаете? –