Исключительные ситуации в DLL
Возникновение исключительной ситуации в DLL, созданной в Delphi, приведет к прекращению выполнения всего приложения, если эта ситуация не была обработана внутри DLL. Поэтому желательно предусмотреть все возможные неприятности на момент разработки DLL. Можно порекомендовать возвращать результат выполнения импортируемой функции в виде строки или числа и, при необходимости, заново вызывать исключительную ситуацию в программе.
Код в DLL:
function MyFunc : string;
begin
try
{собственно код функции}
except
on EResult: Exception do
Result:=Format(DllErrorViewingTable,
else
Result := Format(DllErrorViewingTable,
end;
end;
Код в программе:
StrResult:=MyFunc;
if StrResult<>’’ then
raise Exception.Create(StrResult);