Форум: "Corba";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];
ВнизПроблема в консольном приложении с COM Найти похожие ветки
← →
Provodnick © (2007-03-09 16:37) [0]Есть консольное приложение, в котором создается OLE-объект. Все нормально отрабатывает. Но при завершении приложения стабильно выдается ошибка
Exception EAccessViolation in module oleaut32.dll at 00004915.
Access violation at address 77114915 in module "oleaut32.dll". Read of address 1
3A798E0.
Код программы примерно следующий:
program Install;
{$APPTYPE CONSOLE}
uses
SysUtils, Windows, Registry, ActiveX, ComObj, Classes;
.......
CoInitialize(nil);
dsoServer:=CreateOleObject("DSO.Server");
.......
CoUninitialize;
......
end.
Ошибка возникает именно где-то после последней строчки кода. Возможно что-то в финализации модулей. Не знаю даже. Помогите пожалуйста!!!
← →
clickmaker © (2007-03-11 14:17) [1]dsoServer:=nil;
CoUninitialize;
?
← →
kealon © (2007-03-14 13:17) [2]У тебя объект удаляется автоматом после выполнения всех действий в частности
CoUninitialize; что и приводит к ошибке
лучше выдели их в отдельный модуль
...
initialization
CoInitialize(nil);
finalization
CoUninitialize;
end.
или подцепи ComObj, там это уже делается
тогда не придётся самому подчищать за собой объекты
как написали в прошлом примере
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c