Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.29;
Скачать: CL | DM;

Вниз

Проблема в консольном приложении с 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 вся ветка

Текущий архив: 2011.05.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1297778078
TUser
2011-02-15 16:54
2011.05.29
Лапы и полулапы шкурок яхобаба; Плющилки тракторные; ...


15-1297413223
Mephistos
2011-02-11 11:33
2011.05.29
перевод фразы


10-1173447466
Provodnick
2007-03-09 16:37
2011.05.29
Проблема в консольном приложении с COM


4-1248152773
Dmitriy
2009-07-21 09:06
2011.05.29
строка "Дополнительные команды инициализации"


2-1298031723
Nickolay
2011-02-18 15:22
2011.05.29
Видимость свойств