try
...
except
on E: EOleSysError do
MessageBox(E.Message, ....);
end;
Создание TADOQuery во время выполнения
Вот такой пример:
uses ADODB;
var query1: TADOQuery;
begin
query1:=TADOQuery.Create (nil);
end;
При вызове конструктора вылетает exception EOleSysError: не был произведен вызов CoInitialize
Вопрос: что и где нужно инициализировать перед созданием объекта?
И еще: как можно в консольном приложении отлавливать исключения? Имеется в виду не try...except конструкция, а как можно достать сообщение исключения?
Цитата:
Originally posted by Kostyan_ksn
При вызове конструктора вылетает exception EOleSysError: не был произведен вызов CoInitialize
Вопрос: что и где нужно инициализировать перед созданием объекта?
При вызове конструктора вылетает exception EOleSysError: не был произведен вызов CoInitialize
Вопрос: что и где нужно инициализировать перед созданием объекта?
До вызова первого конструктора вызови CoInitialize(nil).
Цитата:
И еще: как можно в консольном приложении отлавливать исключения? Имеется в виду не try...except конструкция, а как можно достать сообщение исключения?
Вроде Application.OnException? В SysUtils описан указатель на обработчик необработанных исключений. Называется вроде ExceptProc.
Цитата:
И еще: как можно в консольном приложении отлавливать исключения? Имеется в виду не try...except конструкция, а как можно достать сообщение исключения?
А чем не устраивает конструкция try..except?
Код:
В дельфях - это стандартный способ работы с исключениями.
Цитата:
Вроде Application.OnException?
В консольках нет объекта Application, объявленного в модуле Forms.