OLE exceptions
Создаю объект 1С на скриптовом языке. Работаю с вариантами. При возникновении ошибки в 1С, Delphi получает ошибку EOleException(например объект не инициализирован), скрипт выводит ошибку EOleException -324561, т.е. код. Мне нужна "родная" ошибка с описанием. Как сделать?
Комментарии
Чтобы получить подробную информацию об ошибке нужно правильно сгенерить COM исключение.
Посмотри пожет прикодится кусок кода:
procedure RaiseOleError(Description, ProgID: string);
var
CreateError: ICreateErrorInfo;
ErrorInfo: IErrorInfo;
SMessage: string;
begin
SMessage := Format('%s'#13'Source: %s', [Description, ProgID]);
CreateErrorInfo(CreateError);
CreateError.SetDescription(PWideChar(WideString(SMessage)));
CreateError.SetSource(PWideChar(WideString(ProgID)));
if CreateError.QueryInterface(IErrorInfo, ErrorInfo) = S_OK then
begin
SetErrorInfo(0, ErrorInfo);
raise EOleException.Create(Description, S_FALSE, ProgID, '', 0);
end;
end;