Вниз
Скачать: CL | DM;

Ошибка при создании COM объекта в dll   Найти похожие ветки 

 
micky_   (2006-02-26 11:06) [0]

Вот код, предлагаемый для работы с оболочкой, рекомендованный в любом FAQ:

IObject:=CreateComObject(CLSID_ShellLink);
 SLink:=IObject as IShellLink;
 PFile:=IObject as IPersistFile;


Если описан в коде приложения работает как часы, но при переносе этого кода в библиотеку на строке
IObject:=CreateComObject(CLSID_ShellLink);
вылетает Application Error: "Exception EOleSysError" в библиотеке
Есть мысли?


 
Сергей М. ©   (2006-02-26 11:17) [1]

Первая мысль - проконтролировать и проанализировать EOleSysError.ErrorCode


 
clickmaker ©   (2006-02-26 11:20) [2]

CoInitialize вызвал?


 
micky_   (2006-02-26 12:52) [3]

>>clickmaker
>>Сергей М.
Точно, спасибо, оказывается действительно не была проинициализирована. Только теперь более интересная ситуация:
далее идет код:
PFile.Save(@FilePath, FALSE);который возвращает E_FAIL, хотя в приложении все опять же работает. Мистика. Может что-то ещё нужно проинициализировать?


 
Сергей М. ©   (2006-02-26 13:11) [4]


> Может что-то ещё нужно проинициализировать?


И опять же ответ на вопрос даёт анализ ErrorCode


 
micky_   (2006-02-26 14:17) [5]

Да, все ок, всем спасибо. Проблема была уже с именем файла.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.083 c
11-1123058007
Ajax
2005-08-03 12:33
2006.03.26
Form.CanResize:=False и програмное изменение размеров


1-1140370850
Matrex
2006-02-19 20:40
2006.03.26
«Мягкие» границы для Битмапа…


1-1140610287
Kolan
2006-02-22 15:11
2006.03.26
Можо ли ждать события, но не усыплять поток?


6-1134387710
Boo
2005-12-12 14:41
2006.03.26
Потоки в Indy / IdThreadComponent1


5-1127236041
rds
2005-09-20 21:07
2006.03.26
Как вызвать событие




   Наверх