Форум: "Corba";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизРабота с COM-объектом (EXCEL, WORD) из консольного приложения Найти похожие ветки
← →
SergP. (2005-07-12 16:06) [0]Не получается сабж. Кто что может подсказать?
Например при запуске проги откомпилированой из такого кода:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,comobj;
var
MyExcel:Variant;
begin
MyExcel:=CreateOleObject("Excel.Application");
MyExcel.WorkBooks.Add;
MyExcel.Visible:=true;
end.
Получаем исключение. При запуске из Дельфи получаем сообщение типа:
... Не произведен вызов Coinitialize ...
Как сделать чтобы работало?
← →
Digitman © (2005-07-12 16:09) [1]как это что ? произвести оной вызов !
перед первым же обращением к олей-механизму .. т.е. перед CreateOleObject()
а после последнего обращения произвести, соответственно, вызов CoUninitialize()
← →
Гаврила © (2005-07-12 16:18) [2]Дело в том, что в "обычном" приложении Coinitialize вызывается автоматически, кодом VCL (при подключении соответствующего юнита).
Вследствие этого некоторые программисты на Delphi и не подозревают, что это обязательно
← →
Digitman © (2005-07-12 16:26) [3]
> некоторые программисты
батонометатели ?)
← →
SergP. (2005-07-12 18:17) [4]А параметр, который передается в Coinitialize какой ставить?
function CoInitialize(pvReserved: Pointer): HResult; stdcall;
Т.е. что означает pvReserved?
Пока написал CoInitialize(nil);
Вроде бы работает. Но все же....
← →
DiamondShark © (2005-07-12 18:26) [5]
> Пока написал CoInitialize(nil);
Правильно написал.
← →
jack128 © (2005-07-12 18:34) [6]SergP. (12.07.05 18:17) [4]
А параметр, который передается в Coinitialize какой ставить?
Хелп принципиально не читаем???
← →
SergP. (2005-07-12 18:53) [7]
> jack128 © (12.07.05 18:34) [6]
> SergP. (12.07.05 18:17) [4]
> А параметр, который передается в Coinitialize какой ставить?
> Хелп принципиально не читаем???
В хелпе нету вообще упоминания про Coinitialize
← →
begin...end © (2005-07-12 18:59) [8]> SergP. (12.07.05 18:53) [7]
Help -> Windows SDK
или
http://msdn.com
HRESULT CoInitialize(
LPVOID pvReserved //Reserved, must be NULL
);
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c