Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при создании COM объекта в dll [D7, WinXP]


micky_ ©   (2006-02-26 11:06:00) 

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

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


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


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

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


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


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


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


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

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


clickmaker   (2006-02-26 11:20:00) [4]

CoInitialize вызвал?


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо